Meet the Prom Scrape Analyzer: A Must-Have for SREs in Observability

As an SRE working in the observability space, I've often found myself frustrated by the lack of user-friendly tools for inspecting Prometheus scrape endpoints (specially when using Protobuf format). The struggle of relying on janky binary output from protobuf and resorting to grep to find metric names has been a constant pain point. That's why I'm excited to announce the release of Prom Scrape Analyzer, a powerful companion tool designed to make life easier for observability professionals.

The Problem

In the world of Prometheus and observability, we frequently need to inspect scrape endpoints to understand what metrics are being exported, their cardinality, and other crucial details. However, the existing tools often fall short, especially when dealing with protobuf-encoded data. This gap in tooling has led to inefficient workflows and unnecessary complexity in what should be a straightforward task.

Enter Prom Scrape Analyzer

Prom Scrape Analyzer is a command-line tool that aims to bridge this gap. It provides a clean, intuitive interface for inspecting Prometheus scrape endpoints, offering valuable insights into your monitoring setup. Here are some key features:

  • Scrape and analyze cardinality for a given Prometheus scrape endpoint (supports Protobuf format)

  • Support for latest features like Created Timestamps and Native Histograms, showing them as separate columns.

Why I Built This Tool

As an SRE, I understand the importance of having the right tools at your fingertips. Prom Scrape Analyzer was born out of a real need in my day-to-day work. It's designed to save time and reduce frustration when working with Prometheus metrics, allowing observability professionals to focus on what matters most: understanding and improving their systems.

Learning Experience

Creating Prom Scrape Analyzer has been an enlightening journey. Here are some key takeaways from the development process:

  1. The power of Go for CLI tools: Go's strong standard library and excellent support for cross-compilation made it an ideal choice for building a portable, efficient CLI tool.

  2. Embracing Text User Interfaces (TUI): Using the Bubble Tea library for creating a TUI was a game-changer. It allowed for a more interactive and user-friendly experience compared to traditional CLI outputs.

  3. Understanding Prometheus internals: Developing this tool required a deep dive into how Prometheus handles metrics, especially in protobuf format. This knowledge has been invaluable for my work as an SRE.

  4. The importance of user experience: Even for a CLI tool, focusing on user experience can significantly impact its adoption and usefulness.

  5. Open-source collaboration: By making this tool open-source, I'm looking forward to community contributions and improvements, which will make it even more valuable for observability professionals.

Getting Started

Prom Scrape Analyzer is currently under active development. You can find the project on GitHub:

Prom Scrape Analyzer GitHub Repository

Binaries for all major platforms are available to download already.

Future Plans

I'm excited about the potential of Prom Scrape Analyzer and have several features planned for future releases:

  • Enable selection of a specific metric to inspect and display its series.

  • Enhance the TUI with filtering, sorting, and other features.

  • Add a watch mode to observe how cardinality and churn change over time.

  • For native histograms, display the bucket boundaries and counts (and chart them if possible).