Skip to content

Metrics

Metrics in Osuite are numeric time series: a value measured over time, tagged with labels that let you slice it by service, endpoint, host, or any dimension you attach. Osuite stores metrics in a Prometheus-compatible time-series store, so you query them with PromQL — in the Explore metrics view, on dashboards, and in alerts.

Anything sent to the Osuite ingest endpoint over OTLP is ingested as-is. You do not configure metrics per source in Osuite; you point an exporter at the endpoint and the metric appears.

OpenTelemetry defines a small set of instrument types. The type determines which PromQL functions apply when you query it (see Querying with PromQL).

TypeWhat it measuresExampleHow you query it
CounterA value that only ever increases, reset to zero on restart.Total requests handled, bytes sent, errors returned.Wrap with rate() to get a per-second rate.
GaugeA value that goes up and down, sampled at a point in time.Queue depth, memory in use, active connections, temperature.Use directly, or aggregate with avg, max, sum.
HistogramThe distribution of many measurements, bucketed by value.Request latency, payload size.Use histogram_quantile() over the _bucket series to get percentiles.

A histogram is exported as several series: one _bucket series per boundary, plus _sum and _count. That is what lets you compute a p95 or p99 after the fact rather than deciding on a fixed percentile up front.

Osuite receives metrics over OTLP from three common sources. All three land in the same store and are queried the same way.

Application traces instrumented with the Instrumentation Agent also emit standard request metrics — request rate, error rate, and latency histograms — without any extra code.

Open Dashboards → Explore metrics in the Osuite UI to browse and query every metric you are ingesting. The explorer lists each metric name with its type and description, and lets you inspect a metric’s labels and label values before you write a query.

From a selected metric you can build a query, pick a time range, and plot the result. Use it to confirm a metric is arriving, to check which labels it carries, and to draft a PromQL expression before saving it to a dashboard panel or an alert.