> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bronto.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Explore Metrics

> Query Bronto metrics with formulas, inspect histograms, normalize series, configure units, export raw data, and create metric monitors.

## Overview

Bronto Metrics lets you query OpenTelemetry metric data, build formulas across metrics, visualize distributions with histograms, overlay multiple metrics on one chart, and alert on thresholds with metric monitors.

For metric ingestion setup, see [Send Metrics to Bronto](/metrics/send-metrics).

## Query metrics

### Formulas

Formulas combine metrics using arithmetic operators: `+`, `-`, `*`, `/`, and parentheses for grouping. Reference metrics by name and combine them with other metrics or numeric constants.

For example, calculate CPU usage as a percentage:

```text theme={"dark"}
(container.cpu.usage / container.cpu.limit) * 100
```

Formulas currently support arithmetic operators only. Function syntax, such as `clamp()`, is not supported.

<Warning>
  A formula evaluated over a time window with no underlying data currently returns `0` rather than "no value." In a metric monitor, this means a quiet or idle service reads as below threshold instead of no data at every evaluation interval. Account for this behavior when setting formula-based monitor thresholds.
</Warning>

### Histograms

Histogram metrics are visualized in the Metrics Explorer as a bar chart, showing the distribution of values across buckets for the selected time range.

### Multi-metric overlay

You can overlay multiple metrics on a single chart to compare trends directly instead of switching between separate charts.

### Normalize series

For charts with at least three metric queries, use the **Normalize** toggle to compare trends between series with different magnitudes. When normalization is enabled, Bronto scales each series in the selected time range from its own minimum and maximum values into a `0`-to-`1` range.

This makes it easier to compare shape and movement across series, such as CPU utilization and request count, without one larger-magnitude series flattening the others visually.

When comparing two metric queries, Bronto uses a dual-axis chart automatically if each series has a different unit selected.

Units do not affect normalization results, but they do format the values displayed in tooltips.

## Configure units

Charts can display metric values in the unit that makes sense for the data. Use the **Unit** menu above the chart to choose how Bronto formats values in the visualization.

Available unit types:

| Unit type   | Use when                                                                                                                    |
| ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| None        | The metric is already in the right display format, or the value is a plain count.                                           |
| Data Volume | The metric represents bytes or another storage/transfer volume, such as memory usage, response size, or network throughput. |
| Duration    | The metric represents elapsed time, such as request latency, job runtime, or queue wait time.                               |
| Percentage  | The metric is a ratio or percentage, such as CPU utilization, error rate, saturation, or cache hit rate.                    |

Unit formatting changes how values appear in the chart. It does not change the underlying metric values.

## Export raw data

You can export the underlying raw data behind a metric chart.

<Note>
  Exported data contains raw values only. If a chart is configured to display a formatted unit, such as a ratio shown as a percentage, the export does not include a corresponding unit column. The raw, unformatted value is exported.
</Note>

For grouped results, exports may include approximate values in the same cases as search results. For example, when a query returns more than 1000 groups, Bronto may use approximate group results. If an exported CSV contains approximate results, the relevant column headers include an `[approximate]` tag.

## Metric monitors

Metric monitors alert when a metric or formula crosses a threshold you define. Use them to monitor service and infrastructure signals such as CPU utilization, memory usage, request rate, latency, or error totals.

To create one, go to **Monitors** > **New Monitor**, set the query **Data source** to **Metrics**, then search for and select the metric you want to evaluate. Add more metric queries with **+ Add Query**, or use **+ Add Formula** to alert on a calculated value across metrics.

When setting a metric monitor threshold, unit selection is a display helper. It lets you enter the threshold in a convenient unit and formats the preview chart, but the monitor is still created and evaluated against the translated raw value.

For the general monitor workflow and notification options, see [Monitoring Overview & Threshold Monitors](/core-features/monitors).

If formula-based monitors fire unexpectedly on a quiet service, review the no-data behavior under [Formulas](#formulas).

If exported CSVs are missing display units, review [Export raw data](#export-raw-data).
