- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Datadog uses service-entry spans throughout the platform for features such as Trace Metrics and the APM Trace Explorer. This convention is unique to Datadog, but can be mapped from the SpanKind
attribute in OpenTelemetry by following the opt-in guide below.
Enable the config option based on your ingestion path:
The new service-entry span identification logic can be enabled by setting the traces::compute_top_level_by_span_kind
config option to true in the Datadog exporter and Datadog connector. This config option needs to be enabled in both the exporter and connector if both components are being used.
The new service-entry span identification logic can be enabled by adding "enable_otlp_compute_top_level_by_span_kind"
to apm_config.features in the Datadog Agent config.
Trace Metrics are generated for service entry spans and measured spans. These span conventions are unique to Datadog, so OpenTelemetry spans are identified with the following mapping:
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 ) | Measured span |
Producer span (span.kind: producer ) | Measured span |
Internal span (span.kind: internal ) | No trace metrics generated |
This new service-entry span identification logic may increase the number of spans that generate trace metrics, 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 have existing monitors based on trace metrics, you can update them after upgrading since this change introduces more consistency in trace metrics. If you only have internal spans, update your instrumentation according to the above table to receive trace metrics and service-entry spans.
SpanKind
is typically set when a span is created, but can also be updated by using the transform processor in the OpenTelemetry Collector to control the mapping above. For example, if trace metrics are desired for an internal span, the following configuration transforms an internal span with http.path: "/health"
into a client span:
transform:
trace_statements:
- context: span
statements:
- set(kind.string, "Client") where kind.string == "Internal" and attributes["http.path"] == "/health"
추가 유용한 문서, 링크 및 기사: