Skip to main content

Query Metrics

Query metrics from Oodle using the Prometheus-compatible HTTP API. This API supports both range queries (time series) and instant queries (point-in-time values).

Configuration​

To query metrics from Oodle via HTTP, you'll need the following values:

  • OODLE_INSTANCE: Your Oodle instance ID. Go to Settings icon -> API Keys page in your Oodle UI to find out. (Oodle UI links: ap1, us1)
  • OODLE_API_KEY: Your Oodle API key for authentication. Go to Settings icon -> API Keys in your Oodle UI to choose an appropriate key. (Oodle UI links: ap1, us1)

Steps​

Metrics Query

You can find the Query Metrics commands and steps by doing the following:

  1. Login to the Oodle UI, then navigate to the Integrations page
  2. Click on the Query Metrics tile
  3. Choose an appropriate API key from the list on top of the drawer

Query Types​

Oodle supports two types of Prometheus queries:

Range Query (Time Series)​

Retrieve metrics over a time range, useful for visualizing trends and patterns.

Endpoint: https://<OODLE_INSTANCE>.api.oodle.ai/api/v1/query_range

# Range query - get time series data
curl "https://<OODLE_INSTANCE>.api.oodle.ai/api/v1/query_range?query=up&start=1747000000&end=1747003600&step=15" \
-H "OODLE-INSTANCE: <OODLE_INSTANCE>" \
-H "X-API-KEY: <OODLE_API_KEY>"

Range Query Parameters​

  • query (required) - PromQL query expression (e.g., up, rate(http_requests_total[5m]))
  • start (required) - Start timestamp (Unix epoch seconds)
  • end (required) - End timestamp (Unix epoch seconds)
  • step (required) - Query resolution step width (in seconds)
  • partial_response (optional) - Enable partial response for large queries (default: false)

Instant Query (Point in Time Value)​

Get the current value of a metric at a specific point in time.

Endpoint: https://<OODLE_INSTANCE>.api.oodle.ai/api/v1/query

# Instant query - get current value
curl "https://<OODLE_INSTANCE>.api.oodle.ai/api/v1/query?query=up" \
-H "OODLE-INSTANCE: <OODLE_INSTANCE>" \
-H "X-API-KEY: <OODLE_API_KEY>"

Instant Query Parameters​

  • query (required) - PromQL query expression
  • time (optional) - Evaluation timestamp (Unix epoch seconds, defaults to current time)

PromQL Query Examples​

Basic Queries​

Get all instances of a metric:

up

Calculate rate over time:

rate(http_requests_total[5m])

Sum across dimensions:

sum(rate(http_requests_total[5m])) by (status)

Aggregations​

Average value:

avg(cpu_usage_percent)

Maximum value:

max(memory_usage_bytes)

Count instances:

count(up == 1)

Filtering​

Filter by label:

up{job="api"}

Multiple label filters:

http_requests_total{status="200", method="GET"}

Regex label matching:

up{job=~"api.*"}

Response Format​

Both query types return a JSON response in Prometheus format:

Range Query Response​

{
"status": "success",
"data": {
"resultType": "matrix",
"result": [
{
"metric": { "__name__": "up", "job": "api" },
"values": [
[1747000000, "1"],
[1747000015, "1"],
[1747000030, "1"]
]
}
]
}
}

Instant Query Response​

{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": { "__name__": "up", "job": "api" },
"value": [1747000000, "1"]
}
]
}
}

Time Formats​

Timestamps should be provided as:

  • Unix epoch seconds (e.g., 1747000000)
  • RFC 3339 (e.g., 2025-01-20T10:30:00Z)

API Compatibility​

The Oodle metrics query API is compatible with the Prometheus HTTP API. Most Prometheus client libraries and tools can be configured to work with Oodle by changing the base URL and adding Oodle-specific headers.


Support

If you need assistance or have any questions, please reach out to us through: