RELEX Solutions Metrics API
The Monitoring API exposes a Prometheus-compatible metrics endpoint at `/api/v1/{customer_id}/metrics`. The metrics available over this endpoint give quantitative insight into the throughput, latency, and reliability of data flowing into RELEX services. When applicable, metrics are labelled with a `type` dimension that identifies the data type (e.g. `sales`, `product_locations`). The `type` values are normalised to use underscores. ## Plan data ingestion metrics These metrics describe the end-to-end data ingestion pipeline from the point data is received by RELEX until it is consumed by RELEX Plan, the core supply chain planning application. The metrics are technology-agnostic and apply regardless of whether data is ingested via batch file uploads or via the Data API. | Metric | Type | Unit | Description | |--------|------|------|-------------| | `plan_data_ingestion_delay_seconds` | Gauge | seconds | End-to-end latency of RELEX Plan data ingestion, measured as the delay between data being sent to RELEX and data being consumed by RELEX Plan. | | `plan_data_ingestion_messages_total` | Counter | messages | Total number of messages (files or records) ingested by RELEX Plan. Tracks overall ingestion throughput. | | `plan_data_ingestion_rows_total` | Counter | rows | Total number of data rows processed by RELEX Plan during ingestion. Provides a fine-grained view of data volume beyond message counts. | Labels used with `plan_data_ingestion_*` metrics: | Label | Meaning | |-------|---------| | `app` | Which customer application the metric belongs to. | | `env` | Which customer environment the application belongs to. | | `type` | Which kind of integration data stream the metric describes. | ## Data API HTTP metrics These metrics follow [OpenTelemetry semantic conventions](https://opentelemetry.io/docs/specs/semconv/http/http-metrics/) and describe the HTTP layer of the [RELEX Data API](https://docs.relexsolutions.com/docs/restapis/data-api/guide), for customers using that integration method. | Metric | Type | Unit | Description | |--------|------|------|-------------| | `http_server_request_duration_ms` | Histogram | milliseconds | Duration of HTTP requests received by the Data API. | | `http_server_request_body_size_bytes` | Counter | bytes | Cumulative size of HTTP request bodies received by the Data API. Indicates the volume of data being sent to RELEX. | | `http_server_response_body_size_bytes` | Counter | bytes | Cumulative size of HTTP response bodies returned by the Data API. | | `http_server_request_count_by_status` | Counter | requests | Total number of HTTP requests received by the Data API, broken down by HTTP status code (`http_status` label). | Labels used with `http_server_request_duration_ms*` metrics: | Label | Meaning | |-------|---------| | `type` | Which kind of integration data stream the metric describes. | | `http_path` | Which API endpoint received the data in RELEX. | | `le` | For bucket metrics, the upper time limit of the bucket in milliseconds. This label is not present on the related `_sum` and `_count` metrics. | Labels used with `http_server_request_count_by_status`: | Label | Meaning | |-------|---------| | `type` | Which kind of integration data stream the metric describes. | | `http_path` | Which API endpoint received the data in RELEX. | | `http_status` | Which HTTP response status RELEX returned, for example `200` or `400`. | Labels used with `http_server_request_body_size_bytes*` and `http_server_response_body_size_bytes*` metrics: | Label | Meaning | |-------|---------| | `type` | Which kind of integration data stream the metric describes. | | `http_path` | Which API endpoint received the data in RELEX for request size metrics, or which API endpoint RELEX sent the data from for response size metrics. |