Skip to content

Metrics API

Query and push metrics data.

Query Metrics

http
GET /api/v1/metrics

Query Parameters

ParameterTypeDescription
servicestringService ID or name (required)
metricstringMetric name (e.g., cpu_percent, memory_mb)
fromstringStart time (ISO 8601 or relative: -1h, -24h)
tostringEnd time (default: now)
intervalstringAggregation interval (1m, 5m, 1h)

Example

bash
curl "https://ops.example.com/api/v1/metrics?service=api-gateway&metric=cpu_percent&from=-1h&interval=5m" \
  -H "Authorization: Bearer $API_KEY"

Response

json
{
  "data": {
    "service": "api-gateway",
    "metric": "cpu_percent",
    "unit": "percent",
    "values": [
      { "timestamp": "2025-01-15T10:00:00Z", "value": 42.5 },
      { "timestamp": "2025-01-15T10:05:00Z", "value": 45.2 },
      { "timestamp": "2025-01-15T10:10:00Z", "value": 38.1 }
    ]
  }
}

Push Custom Metrics

http
POST /api/v1/metrics

Request Body

json
{
  "service": "api-gateway",
  "metrics": [
    {
      "name": "active_connections",
      "value": 1250,
      "timestamp": "2025-01-15T10:00:00Z"
    },
    {
      "name": "queue_depth",
      "value": 42
    }
  ]
}

Response

json
{
  "data": {
    "accepted": 2,
    "rejected": 0
  }
}

Available Metrics

System Metrics

MetricDescriptionUnit
cpu_percentCPU usagepercent
memory_mbMemory usagemegabytes
memory_percentMemory usagepercent
disk_percentDisk usagepercent
network_rx_bytesNetwork receivedbytes
network_tx_bytesNetwork transmittedbytes

Application Metrics

MetricDescriptionUnit
requests_totalTotal requestscount
requests_per_secRequest raterequests/sec
response_time_msResponse latencymilliseconds
error_rateError percentagepercent

Released under the MIT License.