Explore metrics with Metric Explorer
Query any Prometheus-compatible metric, visualize the results, and drill down by label dimensions without setting up a dashboard first. Metric Explorer gives you a dedicated workspace to investigate metric behavior, compare series across labels, and surface outliers across your entire label space from a single screen.
Use Metric Explorer to:
- Query without a dashboard — Build and run PromQL queries in a dedicated workspace, using a no-code builder or a code editor.
- Visualize and compare — See metric trends as time series charts, filter by labels, apply aggregations, and combine expressions to derive new signals.
- Find what's driving anomalies — Drill down by label dimensions to identify which label values are contributing to unusual behavior, without writing additional queries.
What you need
- The
METRICS.DATA-API#HIGH:READDATApermission. - Metrics data ingested into Coralogix.
Open Metric Explorer
Navigate to Explore, then Metric Explorer.
Build a query
Metric Explorer provides 2 query modes: Builder and Query. Use Builder for guided, no-code query construction. Switch to Query to write PromQL directly.
Filter by label
Use Filter by to narrow the metric to a specific subset of your data before running the query. Select a label from the dropdown, then select a value to apply as a filter.
Shows the RUM_duration metric with the Filter by label dropdown open. The available labels include city, source, and replica fields. Selecting a label filters all results to matching series only, and the chart and table update immediately.
Use case
You are investigating elevated RUM page load times across your application. You select the RUM_duration metric and open Filter by to see which labels are available. You select the city label to understand how duration varies by city, immediately surfacing that Frankfurt am Main (last value: 320) and Mumbai (last value: 251) are the highest contributors.
Add a function
Use Function to shape your query results. Select from aggregation, count, rollup, and rank functions.
Aggregation
Aggregation functions calculate a set of values and return a single value. Once you select the function, select the label to aggregate by.
| Function | Description |
|---|---|
avg | The average value of all data points within the selected time range. |
count | The total number of data points within the selected time range. |
min | The smallest value among the data points within the selected time range. |
max | The largest value among the data points within the selected time range. |
sum | The sum of all data points within the selected time range. |
quantile | Computes the phi-quantile for each group of labels within the time series. The value of phi must fall within the range [0, 1]. |
histogram_quantile | Computes the phi-percentile based on the provided histogram buckets. The value of phi must be between 0 and 1. |
Shows the Function menu open with all aggregation options visible. Selecting Avg with a By label groups the average across each dimension, producing 1 series per label value in the chart and table.
Use case
After filtering by city, you add an aggregation to see the average load time per city over the last 15 minutes. You select Function → Aggregation → Avg, then set By to the city label. The chart shows a separate trend line per city, making it easy to compare which cities are consistently exceeding your latency threshold.
Count
Count functions run calculations on a set of values and return a single value.
| Function | Description |
|---|---|
count | The total number of data points within the selected time range. |
absent | Returns 1 if time series have no data points. Otherwise, returns an empty result. |
absent over time | Returns 1 if the provided time range contains no raw samples. |
present over time | Returns 1 if there is at least 1 raw sample in the provided time range. |
changes | The number of times the time series value changed within the provided time range. |
resets | The number of counter resets within the provided time range. |
Rollup
Rollup functions aggregate time series data over a specified time range. Once you select the function, select the range to query as a hard number or ${__range} (the duration of the selected time range).
| Function | Description |
|---|---|
average over time | Computes the average of time series values over a time range. |
max over time | Finds the maximum value of time series data over a time range. |
min over time | Determines the minimum value of time series data over a time range. |
sum over time | Calculates the sum of time series values over a time range. |
count over time | Counts the number of elements with valid numeric values in the time series over a time range. |
quantile over time | Computes the specified quantile of time series data over a time range. |
Rank
Rank functions sort, rank, and filter data within your queries.
| Function | Description |
|---|---|
TOPK | Retrieves the top K results from a dataset based on a specified metric. |
SORT | Orders data in ascending order based on the selected metric. |
SORT Descending | Orders data in descending order based on the selected metric. |
Write a query directly
Switch to Query mode to write PromQL expressions directly. The Result preview shows the generated query string as you type, so you can verify the syntax before running.
Shows a PromQL expression entered in the code editor. The result is a single aggregated series displayed in the chart, with a trend line and last value in the table.
Use case
You want to calculate the global average RUM duration, unfiltered by city or source. You switch to Query mode and enter avg(RUM_duration{}). The chart shows a single line trending upward near the end of the 15-minute window, confirming a recent degradation that is not city-specific.
Set the time range and automatic refresh
Use the time range picker to control the window of data Metric Explorer analyzes. The Quick tab provides preset options from Last 1 minute to Last 7 Days. Use Relative, Custom, or Tag to define a precise range.
Turn on Refresh query automatically to keep the results live. Set the refresh interval (for example, 30 seconds) so the chart and table update without manual intervention.
Shows the time range picker open with Last 15 Minutes selected and automatic refresh set to 30 seconds.
Use case
You are watching for a RUM duration spike during a deployment that recently rolled out. You set the time range to Last 15 Minutes and turn on Refresh query automatically at 30 seconds. The chart updates every 30 seconds, so you can watch the trend in real time.
Combine expressions
Select Add expression to add a second metric or expression to the query. You can combine 2 expressions using arithmetic: Division, Multiplication, Addition, or Subtraction. Use this to derive new signals—such as ratios, deltas, or normalized values—from multiple metrics.
Shows the expression operator menu open with Division selected. The first expression uses a filtered RUM_duration metric, and the result preview reflects the combined formula.
Use case
You want to calculate the ratio of average city duration to the global average to normalize for baseline performance differences. You add a second expression for the global average and set the operator to Division. The result shows how much each city deviates from the global average, making outliers stand out clearly.
Visualize results
After running a query, Metric Explorer displays results in the Query over time chart and a table.
The chart shows each series as a color-coded line. Hover over any timestamp to see the exact values for each series at that moment. Use the legend to identify or toggle individual series.
The table lists each series with:
- Trend — a trend line showing the shape of each series over the selected period.
- Label columns — the label dimensions that differentiate each series.
- Last value — the most recent recorded value for the series.
Select a column header to sort the table. Use Search series to filter rows by label value.
The table and chart interact: hovering or selecting a row in the table highlights the corresponding series in the chart.
Drill down by label dimensions
Select any row in the table to open the Drill-down by label dimensions panel. Use it to understand how the selected series distributes across all available label dimensions—without writing additional queries.
The panel applies the selected series value as a filter to the query and shows a grid of subseries charts—a chart per available label. Each chart displays all values for that label as separate series, so you can compare behavior across dimensions.
To control which labels appear in the grid, use Labels to explore in the panel. You can add or remove labels, with up to 30 labels visible at a time.
Select Update main screen to apply the current drilldown selections back to the main query view.
Explore metric labels and values
Before running a query, you can use Browse Metric Labels and Values to browse available metrics, labels, and label values—and generate a starting PromQL query without prior knowledge of the metric structure.
Permissions
| Permission | Action |
|---|---|
METRICS.DATA-API#HIGH:READDATA | Access Metric Explorer and run queries |




