Description
What will change?
Datadog has a notion of service entry spans, which allows users to filter on a subset of traces and indicates that trace metrics should be generated. We are introducing the following mapping in order to consistently identify service entry spans from OTLP spans from the Datadog Exporter.
OpenTelemetry Convention | Datadog Convention |
---|---|
Root span | Service entry span |
Server span (span.kind: server ) |
Service entry span |
Consumer span (span.kind: consumer ) |
Service entry span |
Client span (span.kind: client ) |
Generate trace metrics |
Producer span (span.kind: producer ) |
Generate trace metrics |
Internal span (span.kind: internal ) |
No trace metrics generated |
Who is affected?
Most users will see an increase in trace metrics with this change, which may affect existing monitors that are based on trace metrics. Users who only have internal spans will see a decrease in trace metrics.
If you are using compute_stats_by_span_kind, you likely won't be affected because we are also computing stats by span kind in this change.
What should I do if I am affected?
If you have existing monitors based on trace metrics, you can update them after upgrading since this change will introduce more consistency in trace metrics. If you only have internal spans, please update your instrumentation according to the above table to receive trace metrics and service entry spans. The transform processor can also be used to update span kind if needed.
When will it change?
This change will first be released as an opt-in feature in order to avoid breaking changes for customers. This feature has already been merged in the datadog-agent repository and is pending release (PR). Once version 7.53.0 of the agent is released (tentatively mid April), this change will be implemented in collector-contrib. Once this feature has been deemed stable, we will enable this change by default.