Skip to main content

Instant Query

An instant query evaluates a PromQL expression at a single point in time and returns a vector of results — one value per matching time series.

Endpoint: GET https://euw1-01.m.xscalerlabs.com/prometheus/api/v1/query


Parameters

ParameterRequiredDescription
queryYesPromQL expression
timeNoRFC3339 or Unix timestamp. Defaults to now.
timeoutNoQuery timeout override. Maximum: 2m.

Examples

Request rate

curl "https://euw1-01.m.xscalerlabs.com/prometheus/api/v1/query" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'query=rate(http_requests_total[5m])'

Error rate percentage

curl "https://euw1-01.m.xscalerlabs.com/prometheus/api/v1/query" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'query=sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) * 100'

Query at a specific timestamp

curl "https://euw1-01.m.xscalerlabs.com/prometheus/api/v1/query" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'query=up' \
--data-urlencode 'time=2024-06-01T12:00:00Z'

Response

{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "http_requests_total",
"job": "api-server",
"method": "GET",
"status": "200"
},
"value": [
1704067200,
"42.3"
]
}
]
}
}

Each entry in result contains:

  • metric — the label set identifying the series
  • value — a [timestamp, value_string] tuple (value is always a string, even for numbers)

Common PromQL patterns

# All up instances
up

# Rate of requests over the last 5 minutes
rate(http_requests_total[5m])

# 5xx error rate as a fraction
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m]))

# p99 latency from histogram
histogram_quantile(0.99,
sum(rate(http_request_duration_seconds_bucket[5m])) by (le)
)