Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute #14465

Closed
alejandrodnm opened this issue Sep 23, 2022 · 1 comment · Fixed by #14463
Assignees
Labels
comp:jaeger Jaeger related issues enhancement New feature or request

Comments

@alejandrodnm
Copy link
Contributor

Is your feature request related to a problem? Please describe.

Jaeger supports the notion of a span with multiple parents. In Jaeger we can assign references to other spans (what in OTEL are links) and a type can be specified for each reference. Jaeger types are based on opentracing, they can take one of two values CHILD_OF or FOLLOWS_FROM.

When using the Jaeger to OTEL translation, the first CHILD_OF reference is set as the parent spanID, and all other CHILD_OF references are set as regular links. When going the other way around, from OTEL to Jaeger, since in OTEL there's no notion of link type that matches the Jaeger reference type, all the links are set to be FOLLOW_FROM.

To summarise, the reference type is lost in translation. Jaeger spans with multiple parents that are translated to OTEL and then back, are returned with a single parent with the missing parents converted instead to FOLLOW_FROM.

Describe the solution you'd like

To follow the semantic conversion for compatibility with opentracing and store the reference type as an attribute to the links when converting from Jaeger to OTEL in https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/translator/jaeger .

This information should then be used when converting back from OTEL to Jaeger to set the correct reference type.

Describe alternatives you've considered

Basically doing it ourselves after using the translator.

Additional context

This was discussed with the Jaeger maintainers in jaegertracing/jaeger#3919 (comment)

@alejandrodnm alejandrodnm added enhancement New feature or request needs triage New item requiring triage labels Sep 23, 2022
@alejandrodnm alejandrodnm changed the title When translating from Jaeger to OTEL Include the jaeger reference type as attribute [translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute Sep 23, 2022
@alejandrodnm alejandrodnm changed the title [translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute [pkg/translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute Sep 23, 2022
@alejandrodnm alejandrodnm changed the title [pkg/translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute [translator/jaeger] When translating from Jaeger to OTEL Include the jaeger reference type as attribute Sep 23, 2022
@jpkrohling
Copy link
Member

cc @frzifus and @dgoscn

@jpkrohling jpkrohling added the comp:jaeger Jaeger related issues label Sep 26, 2022
@jpkrohling jpkrohling removed the needs triage New item requiring triage label Sep 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jaeger Jaeger related issues enhancement New feature or request
Projects
None yet
2 participants