-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Datadog Receiver spans don't follow OTel specs #36924
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Component(s)
receiver/datadog
What happened?
Description
Spans emitted by Datadog APM agents and converted by the OTel Collector Datadog Receiver don't comply with OTel Semantic conventions, creating challenges to visualize them.
Misalignment applying to all span types
deployment.resource.name
should be defined instead of the span attributedeployment.environment: Str(production)
process.pid
should be defined instead of the attributeprocess.id
Misalignment applying to HTTP server span
Specs: https://opentelemetry.io/docs/specs/semconv/http/http-spans/
Example Datadog HTTP Server span produced by a Spring Boot app (code) and converted by the OTel Col Datadog receiver
http.request.method
andhttp.response.status_code
instead ofhttp.method
andhttp.status_code
${http.request.method} ${http.route}
, the attributedd.span.Resource
is right for this span typeset (name, attributes["dd.span.Resource"]) where name == "servlet.request"
Misalignment applying to internal Spring Framework spans(span name
spring.handler
)This probably applies to other internal spans.
Example Datadog internal span produced by a Spring Boot app (code) and converted by the OTel Col Datadog receiver
kind = SpanKind.SPAN_KIND_INTERNAL
set (kind, SPAN_KIND_INTERNAL) where kind == SPAN_KIND_SERVER and name == "spring.handler"
dd.span.Resource
attributeMisalignment applying to Database client spans
Specs: https://opentelemetry.io/docs/specs/semconv/database/database-spans/
Example Datadog DB client span produced by a Spring Boot app (code and converted by the OTel Col Datadog receiver
service.name
should be set to the value of the span attribute_dd.base_service
db.type
->db.system
db.operation
->db.operation.name
db.instance
->db.name
${db.operation.name} ${}
Steps to Reproduce
Instrument a Spring Boot App similar to this example with the Datadog Java Agent v1.44.1, send the traces to and OTel Col Datadog Receiver using the
DD_TRACE_AGENT_URL="http://localhost:8126"
, note that settingDD_REMOTE_CONFIGURATION_ENABLED=false
seems to prevent some problems of traces not being exported:Setup an OTel Collector v0.116.0 with a Datadog Receiver and exporting traces to the console for debug
Expected Result
OTel-compliant spans reported in the Otel Col stdout
Actual Result
The non OTel-compliant spans described above
Collector version
v0.116.0
Environment information
Environment
OS: (e.g., "Ubuntu 20.04")
Compiler(if manually compiled): (e.g., "go 14.2")
OpenTelemetry Collector configuration
Log output
Additional context
No response
The text was updated successfully, but these errors were encountered: