Skip to content
Novus Examples
prom700 B

Prometheus Exposition — Summary with and without Quantiles (prom)

Two summary families — one exposing four client-side quantiles including quantile="1" for the observed maximum, and one exposing only _sum and _count, which is legal and common. Summaries cannot be re-aggregated across instances, and this fixture is where that gets tested.

Preview — first 13 linesprom
# HELP rpc_duration_seconds Payment RPC latency summary.
# TYPE rpc_duration_seconds summary
rpc_duration_seconds{service="payments-api",quantile="0.5"} 0.0412
rpc_duration_seconds{service="payments-api",quantile="0.9"} 0.1188
rpc_duration_seconds{service="payments-api",quantile="0.99"} 0.4907
rpc_duration_seconds{service="payments-api",quantile="1"} 2.0031
rpc_duration_seconds_sum{service="payments-api"} 918.4471
rpc_duration_seconds_count{service="payments-api"} 14022
# HELP gc_pause_seconds Garbage-collection pause summary with no quantiles configured.
# TYPE gc_pause_seconds summary
gc_pause_seconds_sum{service="checkout-api"} 41.2208
gc_pause_seconds_count{service="checkout-api"} 90311

Specifications

Families
2
Quantiles
4
Quantile One Is Max
true
Family Without Quantiles
gc_pause_seconds
Count
14022

Testing contract

Expected to pass
Scenario
Parse both families and attempt to aggregate them across instances.
Expected result
The quantile label is recognised as part of the series identity rather than a bucket bound, and the quantile-free family still yields a valid average from _sum divided by _count.

What is a .prom file?

A .prom file holds metrics in the Prometheus text exposition format, the same body a `/metrics` endpoint returns. Each metric family is introduced by `# HELP` and `# TYPE` comments and followed by one sample per line: a metric name, an optional brace-delimited label set, a value, and an optional millisecond timestamp. Counters, gauges, histograms (with `_bucket`, `_sum`, `_count` series and a `+Inf` bucket), and summaries with quantile labels all use this one grammar.

How to use this file

Use an example .prom file to test exposition-format parsers, scrapers, and the node_exporter textfile collector — checking label escaping, histogram bucket ordering and cumulative counts, and the handling of `NaN` and `+Inf` values.

How to use this file for testing

“Prometheus Exposition — Summary with and without Quantiles (prom)” is a deterministic Novus Examples fixture for Observability, Time-series data, Time-series data. Structured and plain-text telemetry with known timestamps, levels, request identifiers, and error states for testing log ingestion, correlation, dashboards, and alert pipelines.

Documented properties for this file: PROM · 700 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Telemetry fixtures use fixed trace IDs, span IDs, and timestamps so ingestion is reproducible run to run. Point your collector, parser, or query layer at the file and assert the documented span tree, metric families, or severity mix; service and host names are invented.

Generated by generation/observability.py. Free for any use, no attribution required — license.