What’s New in Prometheus 3.0? UI Overhaul, Remote Write 2.0, UTF‑8 & OTLP Support
Prometheus 3.0, the first major release in seven years, introduces a revamped UI, Remote Write 2.0 with native metadata and histogram support, full UTF‑8 metric and label names, OTLP ingestion, performance gains over 2.x, and a roadmap of upcoming cloud‑native enhancements.
New User Interface
Prometheus 3.0 ships with a completely rewritten UI that is enabled by default. The UI uses a modern component stack, includes a PromLens‑style tree view, and supports UTF‑8 metric and label names. Users can temporarily switch back to the legacy UI with the old-ui feature flag.
Remote Write 2.0
Remote Write 2.0 extends the previous protocol with native support for:
metadata
exemplars
creation timestamps
native histograms
It adds string interning to reduce payload size and CPU usage during compression/decompression, and improves handling of partial writes by returning detailed error information.
Specification: https://prometheus.io/docs/specs/remote_write_spec_2_0/
UTF‑8 Support
Prometheus 3.0 accepts any valid UTF‑8 characters in metric names, label names, and label values, matching the behavior of the 2.x series. Exporters must emit UTF‑8 names; otherwise the legacy underscore‑escaping is applied. Queries can use quoted identifiers to reference UTF‑8 metrics, and the __name__ label can be set manually. Currently only the Go client library implements UTF‑8 support; other language clients will follow.
OTLP Support
Prometheus 3.0 includes a native OTLP receiver at the endpoint /api/v1/otlp/v1/metrics. Configuration follows the OTLP section of the Prometheus config reference.
Guide: https://prometheus.io/docs/guides/opentelemetry
Configuration reference: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#:%7E:text=Settings%20related%20to%20the%20OTLP%20receiver%20feature
Native Histograms
Native histograms are a new metric type that uses exponentially increasing bucket boundaries, eliminating the need for manual bucket selection. The feature is experimental and disabled by default; enable it with: --enable-feature=native-histograms Text format support and related functions are still under design.
Breaking Changes & Migration
Version 3.0 introduces several breaking changes:
New feature flags (e.g., old-ui, native-histograms)
Configuration file syntax adjustments
PromQL updates (quoted identifiers for UTF‑8)
Scrape protocol modifications
Upgrade path: first upgrade to Prometheus 2.55, then to 3.0. Rolling back from 3.0 to 2.55 is supported; rollback to earlier 2.x releases is not.
Migration guide: https://prometheus.io/docs/prometheus/3.0/migration/
Performance Improvements
Benchmarks using the prombench macro‑benchmark suite show lower CPU and memory usage for the TSDB mode in 3.0 compared with 2.0 and 2.18 on an 8‑core, 49 GB node.
Benchmark source: https://github.com/prometheus/prometheus/pull/15366
References
Remote Write 2.0 spec: https://prometheus.io/docs/specs/remote_write_spec_2_0/
OTLP guide: https://prometheus.io/docs/guides/opentelemetry
OTLP configuration: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#:%7E:text=Settings%20related%20to%20the%20OTLP%20receiver%20feature
No‑suffix implementation proposal: https://github.com/prometheus/proposals/pull/39
Migration guide: https://prometheus.io/docs/prometheus/3.0/migration/
prombench macro‑benchmark: https://github.com/prometheus/prometheus/pull/15366
Binary downloads: https://prometheus.io/download/#prometheus
Container images: https://quay.io/repository/prometheus/prometheus?tab=tags
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
