Streamlining Observability: The Journey Towards Query Language Standardization
One of the most captivating discussions I had at KubeCon Europe 2023 in Amsterdam was about standardization of a query language for observability. This query language standard aims to provide a unified way of querying observability data across logs, metrics, traces, and other relevant signals.
The conversation shed light on the pressing need for a standardized approach to overcome the challenges posed by the plethora of query languages currently in use. I had shared some of that live from KubeCon in Amsterdam a couple of months ago. But I wanted to dive deeper into this topic with the people behind this initiative, as the initiative matured into its own working group.
On the latest episode of OpenObservability Talks, I hosted Vijay Samuel, observability architect at eBay. Among numerous topics in the conversation, we discussed how observability has evolved at eBay but we delved specifically into the motivations behind the new query language standardization effort, and the new working group initiated for it under the Cloud Native Computing Foundation (CNCF), spearheaded by Vijay together with Chris Larsen from Netflix.
The Struggles of Language Diversity for Querying in Observability
The diverse range of query languages used in the observability field creates a significant pain point for DevOps professionals. Switching between languages such as Lucene and LogQL for logs, PromQL and InfluxQL for metrics, Jaeger and TraceQL for tracing, and other languages and telemetry signals, can be cumbersome and hinders productivity. The languages also vary dramatically in their conventions, utilizing different DSLs (domain-specific languages) and APIs, which further increases the divergence.
In large organizations like eBay, where thousands of dashboards are in use, the task of migrating between languages becomes even more daunting. The lack of a standardized language makes it difficult to maintain consistency and adapt to changing technologies.
“Every time you marry yourself into one of the project’s public interfaces, if the project for some reason does not have any more contributors, then basically you’re stuck and you have to figure out how to migrate into a different one and migrate all the dashboards that are there as well,” Vijay says.
By introducing a unified query language standard, organizations can achieve a consistent experience across logs, metrics, and traces, mitigating the challenges associated with language diversity.
Enabling Vendor-Agnostic Interoperability and Standardization in Queries
Another critical aspect driving the adoption of a unified query language is the need for interoperability between different observability providers.
Organizations often utilize multiple providers based on their strengths for different use cases. However, the lack of a common language for querying data from these providers creates a barrier to seamless integration.
A standardized query language would facilitate data retrieval from various providers, ensuring interoperability and allowing for better collaboration across systems. Moreover, a widely adopted query language would serve as a standard for the entire observability community, promoting a consistent approach and simplifying the development of tools and frameworks.
I also believe that for such an initiative to succeed and become a widely-adopted standard, it should grow from end users and their respective needs. I’m glad to see this new initiative driven by two prominent end-user hyperscalers, eBay and Netflix, and hope more end users will join in, alongside observability vendors that implement query languages in their tooling.
The Observability Query Standard Working Group
To address these challenges, the Observability Query Standard Working Group was formed under the CNCF’s Technical Advisory Group (TAG) for observability. This newly-established working group aims to collaborate and develop a unified query language for observability.
The primary objective of the query language standardization working group is to gain insights into the observability landscape, specifically from a query perspective. While there are existing standards for data ingestion, the query side lacks consistency due to the numerous language options available. Compatibility becomes a major challenge when different systems rely on distinct query languages.
To overcome this, the working group aims to compile feedback from the open source community.
“The idea is to survey those language creators and end users to see what are the pain points, what are the things that worked in certain languages and what did not,” Vijay says. “We want to come up with a database of all this information which could potentially be used to come up with a recommendation.”
By building a comprehensive database of this information, the group intends to provide recommendations akin to SQL for databases, allowing for a more streamlined approach to observability.
As the group is still in its early stages, there is ample opportunity for interested individuals to contribute. The working group holds regular meetings via Zoom and maintains a Slack channel (#obs-query-standard-wg) on the CNCF Slack workspace. By joining this collaborative effort, individuals can help shape the future of observability query standards. You can find more information on the working group’s GitHub page and charter here.
If you’re passionate about this topic, consider joining the Observability Query Standard Working Group.
“I strongly urge you, and welcome you, to come join the working group, so that we can solve this problem in a meaningful way and take the entire observability community to the next level,” Vijay says.
Want to learn more? Check out the OpenObservability Talks latest episode: eBay’s Journey to Planet-Scale Observability with Open Source.