Presenters

Source

Level Up Your Monitoring: OpenMetrics 2.0 is Here! 🚀

Let’s be honest, monitoring can be… complicated. 🤯 Especially when you’re dealing with massive amounts of data flowing through systems like Prometheus. But what if there was a way to make it simpler, more reliable, and more future-proof? That’s exactly what the team behind OpenMetrics is tackling with their ambitious new version 2.0! 💡

The Problem with the Old Way 📜

For a while now, Prometheus has relied on a text-based format for sending metric data. It’s worked, but it’s not without its flaws. Think of it like a handwritten note – readable, but prone to errors and difficult to scale. The current format struggles with:

  • Inefficiencies: It’s not the most efficient way to transmit data.
  • Statelessness: It lacks the robustness needed for complex environments.
  • Complex Metrics: Representing things like histograms and summaries is a real headache. 👾

OpenMetrics 2.0: A Fresh Start 🌟

OpenMetrics 2.0 is designed to completely revamp this process. It’s a radical evolution, aiming to streamline everything and make monitoring a whole lot smoother. Here’s the breakdown:

  • UTF-8 Support is Here! 🎉 Finally, internationalized metric names and values are supported – a feature already present in Prometheus 3.0. This is a huge win for global deployments.
  • Complex Times: One Line, All the Data! 🤯 Forget separate series for histograms and summaries. OpenMetrics 2.0 introduces “complex times” – a single line containing all the data. This aligns perfectly with the “what you see is what you query” principle, making things incredibly consistent.
  • Say Goodbye to Magic Suffixes 👋 The days of relying on suffixes like “_total” or “_count” are numbered. OpenMetrics 2.0 prioritizes interoperability with systems like OpenTelemetry, reducing naming conflicts and simplifying data ingestion.
  • Federation Focus 🌐 Managing metrics from multiple sources? OpenMetrics 2.0 is built to handle it seamlessly, aggregating metrics with different units – a previously tricky challenge.

The Tech Behind the Magic 🛠️

Let’s talk about the tools and technologies involved:

  • Prometheus Ecosystem: OpenMetrics 2.0 is deeply rooted in Prometheus’s existing exposition formats.
  • OpenMetrics 1.0: A quick recap – OpenMetrics 1.0 started with JSON for speed and readability, then moved to Protobuf for streaming and backward compatibility.
  • Protobuf Remains Key: Protobuf is still a vital component, valued for its development speed and compatibility.
  • Refined Text Format: The current text format is being improved to address reliability and parsing efficiency.
  • PromQL Compatibility: Crucially, OpenMetrics 2.0 is designed to work seamlessly with PromQL, so your existing queries won’t break.
  • Graphana & Mimir: These key tools – which rely on exposition formats – will be directly impacted, requiring updates and adjustments.

Challenges and Tradeoffs 🤔

No change is without its hurdles. The team is acutely aware of these:

  • Readability vs. Efficiency: Balancing human readability with parsing efficiency is a constant challenge.
  • Enforcement vs. Flexibility: The debate around strict naming conventions versus embracing interoperability with OpenTelemetry is a key tradeoff.
  • Complexity of Complex Types: Representing complex metrics in a single line introduces complexity, demanding careful parsing and query optimization.
  • Potential for Regression: Moving away from established conventions carries the risk of compatibility issues.

Your Voice Matters! 🗣️

The presentation ended with a powerful call to action: get involved! The team needs your feedback and participation to shape the future of OpenMetrics 2.0. This is a collaborative effort, and your input is invaluable. 🎯

The Future of Monitoring ✨

OpenMetrics 2.0 represents a bold step forward for Prometheus and the broader monitoring landscape. By addressing existing limitations and embracing evolving practices, it promises a more reliable, efficient, and adaptable future for how we collect and analyze data. 🦾

Let’s build it together! 🚀

Appendix