OpenTelemetry 시맨틱 규칙을 Service-entry 스팬에 매핑

개요

Datadog은 서비스 진입 스팬을(를) 트레이스 메트릭 및 APM Trace Explorer와 같은 기능을 위해 플랫폼 전반에서 사용합니다. 이 규약은 Datadog 고유의 것이지만, 아래의 옵트인 가이드에 따라 OpenTelemetry의 SpanKind 속성에서 매핑할 수 있습니다.

요구 사항

  • OTel Collector Contrib v0.100.0 이상
  • Datadog Agent v7.53.0 이상

설정

수집 경로에 따라 설정 옵션을 활성화하십시오:

새로운 서비스 진입 스팬 식별 로직은 traces::compute_top_level_by_span_kindDatadog exporter 및 Datadog connector에서 설정 옵션을 true로 설정하여 활성화할 수 있습니다. 두 구성 요소를 모두 사용하는 경우 이 설정 옵션을 exporter와 connector 모두에서 활성화해야 합니다.

새로운 서비스 진입 스팬 식별 로직은 Datadog Agent 설정의 apm_config.features에 "enable_otlp_compute_top_level_by_span_kind"을 추가하여 활성화할 수 있습니다.

지원되는 규약

트레이스 메트릭은(는) 서비스 진입 스팬 및 측정된 스팬에 대해 생성됩니다. 이러한 스팬 규약은 Datadog 고유의 것이므로, OpenTelemetry 스팬은 다음 매핑을 사용하여 식별됩니다:

OpenTelemetry 규약Datadog 규약
루트 스팬서비스 진입 스팬
서버 스팬 (span.kind: server)서비스 진입 스팬
컨슈머 스팬 (span.kind: consumer)서비스 진입 스팬
클라이언트 스팬 (span.kind: client)측정된 스팬
프로듀서 스팬 (span.kind: producer)측정된 스팬
내부 스팬 (span.kind: internal)트레이스 메트릭이 생성되지 않음

마이그레이션

이 새로운 서비스 진입 스팬 식별 로직은 트레이스 메트릭을 생성하는 스팬의 수를 증가시킬 수 있으며, 이는 트레이스 메트릭을 기반으로 하는 기존 모니터에 영향을 줄 수 있습니다. 내부 스팬만 있는 사용자는 트레이스 메트릭이 감소하는 것을 보게 됩니다.

트레이스 메트릭을 기반으로 하는 기존 모니터가 있는 경우, 이 변경 사항으로 인해 트레이스 메트릭의 일관성이 향상되므로 업그레이드 후 모니터를 업데이트할 수 있습니다. 내부 스팬만 있는 경우, 트레이스 메트릭과 서비스 진입 스팬을 받으려면 위 표에 따라 계측을 업데이트하십시오.

SpanKind 은 일반적으로 스팬이 생성될 때 설정되지만, OpenTelemetry Collector의 transform processor를 사용하여 위 매핑을 제어함으로써 업데이트할 수도 있습니다. 예를 들어, 내부 스팬에 대해 트레이스 메트릭이 필요한 경우, 다음 구성은 http.path: "/health"이 포함된 내부 스팬을 클라이언트 스팬으로 변환합니다:

  transform:
    trace_statements:
      - context: span
        statements:
          - set(kind.string, "Client") where kind.string == "Internal" and attributes["http.path"] == "/health"

추가 자료

추가적인 유용한 설명서, 링크 및 기사: