common icon indicating copy to clipboard operation
common copied to clipboard

trace: Migrate to open-telemetry for instrumentation.

Open kavirajk opened this issue 3 years ago • 4 comments

Currently Loki is instrumented with opentracing/jaeger client libraries for tracing (I hope, it's same for Mimir and Tempo as well)

This instrumentation comes from weaveworks/common package and dskit's spanlogger package.

Those client libraries(opentracing, jaeger) are deprecated in the favor of opentelemetry client sdk. It's better to migrate.

I hope, It should be completely possible to migrate underlying dependencies without changing any API of those packages.

Example of using otel tracing client libraries for instrumentation in Go is here.

kavirajk avatar Aug 15 '22 21:08 kavirajk

It should be completely possible to migrate underlying dependencies without changing any API

Yeah but not without making tracing stop working for everyone until they figure out how to initialize Otel to make it write to their tracing backend.

Can we put in a layer of indirection?

bboreham avatar Sep 16 '22 17:09 bboreham

This came up in conversation today. Given OpenTelemetry has matured and adoption has increased I'm more OK with a breaking change.

bboreham avatar Mar 17 '23 12:03 bboreham

@kavirajk Is this something Grafana is going to pick up? It's currently not possible to get spans to propagate to Loki/Mimir/Tempo if OpenTelemetry is used in the stack since it isn't possible to set the JAEGER_PROPAGATION environment variable in the Jaeger Go client.

davidspek avatar Jun 20 '23 13:06 davidspek

@DavidSpek Hi, thank you for bring up the topic, and yes we are planning to do the migration on our side.

ying-jeanne avatar Jun 20 '23 17:06 ying-jeanne