Native Histograms in Prometheus
summary
Prometheus adds an experimental native histogram type that stores an entire histogram per sample instead of one series per bucket, using sparse exponential buckets with a configurable bucket factor. Ingest requires the protobuf scrape format and the Go client Library and is enabled by a feature flag; histograms remain aggregatable and can be resolution-downgraded. Early production results (refiner labs) show about 10× resolution for ½ the cost, with similar query times and manageable reset behavior.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:26Credits and background
- 3:14Classic histograms
- 7:30Native histograms overview
- 10:42Sparse bucket usage
- 13:35Indexing and encoding
- 15:02Enabling native histograms
- 15:45Native histograms in PromQL
- 17:32Classic vs native histograms
- 18:54Real-world performance
- 20:16Learn more
- 21:06Q&A
related talks
36mHow to Use Prometheus's Native Histograms
05mNative Histograms With Custom Buckets
21mPrometheus Native Histograms in Production
35mPrometheus Sparse High-Resolution Histograms in Action
22mA New Kid in Histogram Town
23mImplementing Out-of-Order Native Histograms in Prometheus
04mLightning Talk: Prometheus Native Histograms Are Now a Stable Feature
26mUsing OpenTelemetry’s Exponential Histograms in Prometheus
