Label Exploration
The labels, label values, and series endpoints show what exists in your tenant namespace. Use them when building dashboards or chasing down cardinality.
:::warning Required headers All requests need both headers:
Authorization: Bearer <token>
X-Scope-OrgID: <tenant-id>
:::
List all label names
Returns every label key present across all series in your namespace.
curl "https://euw1-01.m.xscalerlabs.com/api/v1/labels" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>"
Response:
{
"status": "success",
"data": ["__name__", "job", "instance", "method", "route", "status"]
}
List values for a specific label
Returns all values for a given label key.
curl "https://euw1-01.m.xscalerlabs.com/api/v1/label/job/values" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>"
Response:
{
"status": "success",
"data": ["api-server", "worker", "scheduler"]
}
Replace job in the URL path with any label name returned by the labels endpoint.
Find series matching a selector
Use POST /series with a match[] selector to find all time series that match a given label set.
curl -X POST "https://euw1-01.m.xscalerlabs.com/api/v1/series" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'match[]=http_requests_total{job="api-server"}'
Response:
{
"status": "success",
"data": [
{
"__name__": "http_requests_total",
"job": "api-server",
"method": "GET",
"status": "200"
},
{
"__name__": "http_requests_total",
"job": "api-server",
"method": "POST",
"status": "201"
}
]
}
Limit results by time range
Both /labels and /series accept optional start and end parameters to restrict results to a time range:
curl "https://euw1-01.m.xscalerlabs.com/api/v1/labels" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'start=2024-01-01T00:00:00Z' \
--data-urlencode 'end=2024-01-02T00:00:00Z'
Find high-cardinality metrics
Too many unique label value combinations slow queries down. This query finds the top offenders:
curl "https://euw1-01.m.xscalerlabs.com/api/v1/query" \
-H "Authorization: Bearer <token>" \
-H "X-Scope-OrgID: <tenant-id>" \
--data-urlencode 'query=topk(10, count by (__name__)({__name__=~".+"}))'
This returns the 10 metric names with the most active time series. When one stands out, check which labels it carries and drop the values you do not need.