Ukraine flag We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit this page.

Roadmap


The following is a summary of the major features we plan to implement. For more details, see the Roadmap on GitHubexternal link.

Upgrade Storage Backends to V2 Storage API

Currently, Jaeger uses a v1 Storage APIexternal link, which operates on a data model specific to Jaeger. Each storage backend implements this API, requiring transformations between Jaeger’s proprietary model and the OpenTelemetry Protocol (OTLP) data model, which is now the industry standard.

As part of #5079, Jaeger has introduced the more efficient v2 Storage APIexternal link, which natively supports the OpenTelemetry data model (OTLP), allows batching of writes and streaming of results. This effort is part of a broader alignment with the OpenTelemetry Collector frameworkexternal link, tracked under #4843.

For more information see the issue descriptionexternal link.

[Feature] Support ClickHouse as a core storage backend

Build first-class support for ClickHouse external link as an official Jaeger backend. ClickHouse is an open-source column-oriented database for OLAP use cases. It is highly efficient and performant for high volumes of ingestion and search making it a good database for tracing and logging data specifically. It can also do aggregates very quickly which will come in handy for several features in Jaeger.

Benefits to the users:

  • Efficient backend
  • Powerful search
  • Analytics capability, e.g. the possibility to support the APM function (Monitoring tab in Jaeger) directly from ClickHouse

For more information see the issue descriptionexternal link.

[Feature]: Support Elasticsearch data stream

Data streams are the new hotness in Elasticsearch & OpenSearch to store append-only observability data. Data streams are well-suited for logs, events, metrics, and other continuously generated data.

For more information see the issue descriptionexternal link.

Renovate Streaming Support

Bring streaming analytics support directly into Jaeger backend, instead of requiring separate Spark/Flink data pipelines.

For more information see the issue descriptionexternal link.

Add the ability to store/retrieve incomplete/partial spans

Allow clients to export partial spans, to support two use cases:

  • Flush a long running span before it is finished, in case the process crashes before finishing it
  • Enrich existing span with information from other sources, e.g. to record log events not captured via tracing SDK

For more information see the issue descriptionexternal link.

AI/ML platform for Jaeger

At the moment doing ML/AI analysis with Jaeger is hard. There is no direct integration with ML/AI platforms and we do not have much knowledge on what models we could build.

  • Create Community/SIG for doing ML/AI with tracing/telemetry data.
  • Build ML/AI integration with Jaeger to make it easy for data scientists write and evaluate models (e.g Jupyter notebooks).
  • Create a registry of models/post-processing pipelines which derive useful information out of tracing data.

For more information see the issue descriptionexternal link.

Dynamic configuration support

We need a dynamic configuration solution that comes in handy in various scenarios:

  • blacklisting services
  • overriding sampling probabilities
  • controlling server-side downsampling rate
  • black/whitelisting services for adaptive sampling
  • etc.

For more information see the issue descriptionexternal link.