Criteria for Otel to Zipkin remoteEndpoint transformation should be broadened
#1,560 opened on Mar 18, 2021
Repository metrics
- Stars
- (4,267 stars)
- PR merge metrics
- (PR metrics pending)
Description
The current Otel <-> Zipkin span mapping specifies that Zipkin's remoteEndpoint should be specified if Zipkin's SpanKind resolves to either SpanKind.CLIENT or SpanKind.PRODUCER, but omits SpanKind.CONSUMER.
If Zipkin SpanKind resolves to either SpanKind.CLIENT or SpanKind.PRODUCER then the service SHOULD specify remote endpoint otherwise Zipkin won't treat the Span as a dependency. peer.service is the preferred attribute but is not always available. The following table lists the possible attributes for remoteEndpoint by preferred ranking:
Per discussion in https://github.com/open-telemetry/opentelemetry-specification/discussions/1546 , this should be broadened to omit any specific SpanKind, and instead require that remoteEndpoint be populated wherever possible regardless of SpanKind.
It remains a SHOULD because there will still be cases where connections from things such as Unix domain sockets will not necessarily have a way to map to remoteEndpoint.