Making the Most Out of PromQL with VMware Tanzu Observability

July 28, 2022 Dan Florea

Rachna Srivastava contributed to this blog post.

Given the popularity of Prometheus and the open source community behind it, it’s no surprise that customers often ask about support for the Prometheus Query Language, PromQL. Many users are already comfortable with PromQL but need the additional performance and scalability of the VMware Tanzu Observability platform. This is why we worked on PromQL compatibility, and users can now leverage the benefits of Tanzu Observability while using the query language of their choice.

Tanzu Observability has been able to ingest Prometheus metrics that can be queried with PromQL for several years. And we’re happy to announce that we recently achieved a 78.10 percent compatibility score, according to the independent open source compliance checker tool from PromLabs. This is, by far, the highest PromQL compatibility score of any platform that does not run Prometheus. You can read more about the compatibility score comparisons here.

Our aims with PromQL are twofold. First, PromQL users should not have to learn a new query language to leverage the performance and scalability of our platform. Second, to take full advantage of Tanzu Observability, PromQL users should be able to gradually transition to the native Wavefront Query Language (WQL).

PromQL UI and API support

PromQL support has been a part of Tanzu Observability since 2020. Customers can ingest Prometheus metrics and some run thousands of PromQL API requests every day to query their data. In addition to API support, this short video explains how to use PromQL in the UI. Users type PromQL queries in the UI query editor to create rich charts and alerts. Users can enable the query language translator to show the equivalent WQL query construct and gradually learn WQL.

A screenshot showing how Tanzu Observability converts a PromQL query to the corresponding WQL query

For example, the sample chart above shows how straightforward it is to enter a PromQL query. A single click converts PromQL to the corresponding WQL query. Don’t want to see WQL? No problem: turn off translation so that you never have to see anything but PromQL.

Close to 100 percent compatibility with community dashboards

To measure how well Tanzu Observability does with real-life PromQL queries, we tested compatibility against Prometheus dashboards from the Grafana community. These dashboards contain typical PromQL queries and provide a good sense of what you can expect with PromQL and Tanzu Observability. Here’s what we did: 

  1. Grabbed every single Prometheus dashboard from the Grafana community
  2. Extracted about 90,000 PromQL queries from these dashboards
  3. Passed all queries through our query conversion code 

After excluding badly formed queries that we rightly failed and some queries that were not even PromQL, we discovered that we had correctly translated close to 100 percent of the queries. These are most of the queries that you are likely to encounter in real production use cases. What this means is that you can confidently use PromQL while leveraging the very high ingestion rates and high query loads supported by Tanzu Observability.

What’s new

The PromLabs open source compliance checker tool found a 78.10 percent compatibility for Tanzu Observability. This is, by a wide margin, the highest score of any product that does not run Prometheus natively. PromLabs did catch some deviations that you can find here, and our documentation lists a small number of known unsupported PromQL functions. But for most PromQL queries, these deviations have no impact. As PromLabs says:

“When looking at individual test results, please note that the numeric scores alone paint a limited picture. They don't necessarily tell you how impactful implementation errors are, nor how many distinct behavioral differences there are.”

The compatibility score indicates that, even under the scrutiny of a compliance checker tool that is intended to detect incompatibilities, Tanzu Observability does the right thing almost 80 percent of the time. In practice, when users are not trying to detect compatibility edge cases, we do far better than 80 percent. In fact, some of our customers successfully run tens of thousands of PromQL queries every day.

Try Tanzu Observability

With hundreds of supported integrations, unparalleled scalability, and support for Kubernetes monitoring and application observability, there are a lot of reasons to choose Tanzu Observability. And, given the latest compatibility tests, most users will have no trouble leveraging their PromQL skills with the power of Tanzu Observability. Try Tanzu Observability for free.

Introducing Unified Observability Platform by VMware Aria Operations for Applications
Introducing Unified Observability Platform by VMware Aria Operations for Applications

The unified observability platform in VMware Aria Operations for Applications brings together metrics, trac...

How to Integrate AWS CloudTrail Service with VMware Tanzu Observability
How to Integrate AWS CloudTrail Service with VMware Tanzu Observability

VMware Tanzu Observability offers easy integration with AWS CloudTrail, enabling operators to view events r...