Skip to content

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:READDATA permission.
  • 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.

Screenshot of Metric Explorer Builder mode showing the Filter by label dropdown with available label options

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.
FunctionDescription
avgThe average value of all data points within the selected time range.
countThe total number of data points within the selected time range.
minThe smallest value among the data points within the selected time range.
maxThe largest value among the data points within the selected time range.
sumThe sum of all data points within the selected time range.
quantileComputes the phi-quantile for each group of labels within the time series. The value of phi must fall within the range [0, 1].
histogram_quantileComputes the phi-percentile based on the provided histogram buckets. The value of phi must be between 0 and 1.

Screenshot of Metric Explorer Builder mode showing the Function dropdown open with Aggregation options

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.
FunctionDescription
countThe total number of data points within the selected time range.
absentReturns 1 if time series have no data points. Otherwise, returns an empty result.
absent over timeReturns 1 if the provided time range contains no raw samples.
present over timeReturns 1 if there is at least 1 raw sample in the provided time range.
changesThe number of times the time series value changed within the provided time range.
resetsThe 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).
FunctionDescription
average over timeComputes the average of time series values over a time range.
max over timeFinds the maximum value of time series data over a time range.
min over timeDetermines the minimum value of time series data over a time range.
sum over timeCalculates the sum of time series values over a time range.
count over timeCounts the number of elements with valid numeric values in the time series over a time range.
quantile over timeComputes the specified quantile of time series data over a time range.

Rank

Rank functions sort, rank, and filter data within your queries.
FunctionDescription
TOPKRetrieves the top K results from a dataset based on a specified metric.
SORTOrders data in ascending order based on the selected metric.
SORT DescendingOrders 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.

Screenshot of Metric Explorer Query mode with a PromQL expression in the code editor and a single aggregated time series in the chart

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.

Screenshot of Metric Explorer showing the time range picker with Quick tab options and the Refresh query automatically toggle active

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.

Screenshot of Metric Explorer showing the Add expression panel with operator options Division, Multiplication, Addition, and Subtraction

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

PermissionAction
METRICS.DATA-API#HIGH:READDATAAccess Metric Explorer and run queries

Learn more