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

Zipkin exporter introduced backwards incompatible translation changes #3793

Closed
pellared opened this issue Dec 15, 2023 · 0 comments · Fixed by #3794
Closed

Zipkin exporter introduced backwards incompatible translation changes #3793

pellared opened this issue Dec 15, 2023 · 0 comments · Fixed by #3794
Assignees
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:trace Related to the specification/trace directory

Comments

@pellared
Copy link
Member

pellared commented Dec 15, 2023

What are you trying to achieve?

Zipkin exporter is marked as Stable (for a long time).

The mapping changes MUST keep all the existing attributes as removing an OTel attribute form the mapping results in a behavioral backwards incompatible change.

Both #3402 and #3713 changed some mappings. Because of this translations for following attributes are no longer handled:

  • net.peer.name
  • net.host.name
  • net.sock.peer.addr & net.sock.peer.port
  • server.socket.domain
  • server.socket.address & server.socket.port

The problem is that it would break users who:

  1. use instrumentation libraries which follows older versions of semantic conventions which recommended to use these attributes (e.g. v1.20.0)
  2. have custom instrumentation that use these attributes

Making a change in an experimental semantic convention is acceptable. However, making a backwards incompatible behavioral change on an stable component is not acceptable.

Zipkin exporter should still handle the attributes defined in legacy semantic conventions as they were part of a stable mapping definition.

Additional context.

Noticed when working on: open-telemetry/opentelemetry-go#4754 (comment)

@pellared pellared added the spec:trace Related to the specification/trace directory label Dec 15, 2023
@reyang reyang added the [label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR label Dec 20, 2023
carlosalberto pushed a commit to carlosalberto/opentelemetry-specification that referenced this issue Oct 31, 2024
Fixes
open-telemetry#3793

## Changes

Update OpenTelemetry to Zipkin Transformation to handle attributes from
older semantic conventions in a backwards compatible way so that
following attributes are (again) handled:
- `net.peer.name`
- `net.host.name`
- `net.sock.peer.addr` & `net.sock.peer.port`
- `server.socket.domain`
- `server.socket.address` & `server.socket.port`

The backwards compatibility of a stable OpenTelemetry to Zipkin
Transformation was broken by:
-
open-telemetry#3402
-
open-telemetry#3713
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[label deprecated] triaged-accepted [label deprecated] Issue triaged and accepted by OTel community, can proceed with creating a PR spec:trace Related to the specification/trace directory
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants