Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Done
-
9.0
-
None
-
None
Description
Umbrella issue for introducing OTEL (OpenTelemetry) in Solr.
Solr-core has OpenTracing instrumentation. And in jaegertracer-configurator module, we use the Jaeger client to export traces on Jaeger/Thrift format. Jaeger clients are deprecated - https://www.jaegertracing.io/docs/1.37/client-libraries/#deprecating-jaeger-clients and the world is anyway moving to OTEL/OTLP protocol for tracing.
Here is a proposed path forward:
Phase 1 - getting rid of the deprecated jaeger client
We'll keeping OpenTracing instrumentation in solr-core. Using the opentelemetry-opentracing shim we can use OTEL java-client instead.
- Introduce a new 'otel' module, exposing an OTLP trace exporter (grpc or http)
- Add otel-jaeger exporter support to the 'otel' module for those who still need it
- Deprecate the 'jaegertracer-configurator' for removal in 10.0 (since jaeger-client will be very dead by then)
- Remove jaegertracer-configurator in main
- Optionally we can quite easily add Zipkin or other support using the OTEL java client as well
Phase 2 - replace OpenTracing instrumentation with OTEL instrumentation
it is recommended to migrate instrumentation from OTO to OTEL, see migration guide: https://opentelemetry.io/docs/migration/opentracing/
Once that is done, the 'otel' module will expose the OTEL "Tracer" instead of the OT "Tracer" through shim.
Attachments
Attachments
1.
|
New OpenTelemetry module with OTLP trace exporter | Closed | Jan Høydahl |
|
|||||||||
2.
|
Add Jaeger exporter to the new otel module | Resolved | Unassigned | ||||||||||
3.
|
Deprecate Jaegertracer-Configurator | Closed | Jan Høydahl |
|
|||||||||
4.
|
Remove jaegertracer-configurator module (main only) | Resolved | Jan Høydahl |
|
|||||||||
5.
|
Replace OpenTracing instrumentation with OpenTelemetry | Resolved | Alex Deparvu |
|
|||||||||
6.
|
Consider removal of the Span.addEvent methods | Resolved | Unassigned | ||||||||||
7.
|
Remove use of GlobalOpenTelemetry | Resolved | Unassigned |