jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform

Home Page:https://www.jaegertracing.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[jaeger-v2] Rethink storage configuration to align with OTEL

yurishkuro opened this issue · comments

Right now several PRs that are trying to add support for standard storage backends to v2 are reusing the same configuration for storage as we had in v1. Now is a good time to rethink that configuration, in particular:

  • better align with standard components of OTEL Collector. For example, the gRPC storage (#5228) is conceptually very similar to OTLP Exporter - they both send data over gRPC to a remote service. Our configuration is pretty slim, while OTLP Exporter's configuration has a lot more features, there is no reason why we cannot support them (would be even better if we could simply reuse OTEL's configuration utilities for gRPC)
  • our storage configs have been accumulating over time, we can see if there are better logical groupings. For example, ES config is a flat list of everything, we can group many flags into sub-types so that the YAML config looks a lot more structured than using long field names like priority_dependencies_template
  • ensure that we have sensible defaults. For example, in #5398 basic options had to be added to Cassandra configuration, even though in v1 many of them are already defaulted to these values, so we're clearly missing defaulting mechanism. It's somewhat complicated by the fact that the storage extension cannot actually define the defaults in CreateDefaultConfig because at that point we don't known which storage will be used.