1 of 9

Celebrating Prometheus 3.0

All You Need To Know!

Bartek Płotka, Senior SWE at Google

bwplotka

bwplotka

2 of 9

Prometheus 3.0: UI and Remote Write 2.0

Prometheus UI Overhaul

Efficient & Feature rich Remote Write 2.0

https://prometheus.io/docs/specs/remote_write_spec_2_0/

bwplotka

3 of 9

Prometheus 3.0: OpenTelemetry and UTF-8

OTLP metrics receiving

https://prometheus.io/docs/guides/opentelemetry/

UTF-8 Support for metric and label names

Make sure to escape (quote) those names!

bwplotka

4 of 9

Prometheus 3.0: Breaking Changes

  • Default UTF-8 supports means no more strict metric and label name character validation
  • Normalization of le and quantile labels (to float format e.g. le="1.0")
  • Prometheus structured logging is slightly different
  • Flags
    • Some feature flags removed; enabled by default
    • Agent mode set by --agent flag
  • Config
    • Remote Write defaults to HTTP/1.1
    • Renamed scrape_classic_histograms to always_scrape_classic_histograms
  • PromQL
    • The . pattern in regex now matches newline characters
    • Lookback and range selectors are now (start, end] previously [start, end]
    • Renamed (and experimental) holt_winters to double_exponential_smoothing
  • Scrape Protocols
    • More strict content-type check; error instead of fallback to text format
  • TSDB storage compatibility only with v2.55

TL;DR

For better use experience and efficiency we did a project configuration and behaviour cleanup for certain edge cases.

See the migration guide for the detailed list of breaking changes!

bwplotka

5 of 9

❤️ Optimizations since 2.0 (lower is better)

GKE node capacity: 8 CPU and 49 GB allocatable memory

v3.0 now!

v2.18 4y ago

v2.0 7y ago

v3.0 -4.4x

v2.18 -1.8x

OOM 🔥

v2.0 (base)

While it lasted…

v3.0 -3.5x

v2.0 (base)

While it lasted…

v2.18 -1.4x

bwplotka

6 of 9

Future work!

  • New, more inclusive governance
  • More Open Telemetry compatibility
  • Deliver Open Metrics 2.0, finally under Prometheus!
  • Native Histograms stability (also with custom buckets!)
  • More Optimizations!
  • More UTF-8 support coverage
  • …and more!

bwplotka

7 of 9

Thanks for listening!

Join Prometheus KubeCon NA sessions!

Check Prometheus blog!

Join us on #prometheus and #prometheus-dev Slack channels!

Join us on social media: @prometheus.io (Bsky) @PrometheusIO (X)

bwplotka

8 of 9

Resources (hidden)

bwplotka

9 of 9

bwplotka