Python Custom Instrumentation using the OpenTelemetry API
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.개요
다음의 경우 OpenTelemetry API를 사용해 애플리케이션을 수동으로 계측해야 합니다.
- Datadog이 지원하는 라이브러리 계측을 사용하고 있지 않습니다.
ddtrace
라이브러리의 기능을 확장하고 싶습니다.- 애플리케이션 계측을 보다 세밀하게 제어해야 합니다.
ddtrace
라이브러리는 이러한 목표를 달성하는 데 도움이 됩니다. 다음 섹션에서는 커스텀 계측을 위해 Datadog과 OpenTelemetry API를 함께 사용하는 방법을 다룹니다.
설정
OpenTelemetry를 설정하여 Datadog 트레이스 공급자를 사용하려면,
자동-계측 및 설정에 대한 지침을 아직 읽지 않았다면 파이썬 설정 지침부터 시작하세요.
DD_TRACE_OTEL_ENABLED
환경 변수를 true
로 설정합니다.
커스텀 스팬(span) 생성하기
기존 트레이스 컨텍스트 내에서 커스텀 스팬을 생성하려면 다음을 수행하세요.
from opentelemetry import trace
tracer = trace.get_tracer(__name__)
def do_work():
with tracer.start_as_current_span("operation_name") as span:
# Perform the work that you want to track with the span
print("Doing work...")
# When the 'with' block ends, the span is automatically closed
활성 스팬에 액세스(스팬(span))
현재 활성화된 스팬(span)에 액세스하려면 get_current_span()
함수를 사용합니다:
from opentelemetry import trace
current_span = trace.get_current_span()
# enrich 'current_span' with information
스팬(span) 태그 추가하기
스팬에 속성을 추가해 추가 컨텍스트 또는 메타데이터를 제공합니다.
현재 스팬에 속성을 추가하는 방법에 대한 예시를 제공합니다.
from opentelemetry import trace
current_span = trace.get_current_span()
current_span.set_attribute("attribute_key1", 1)
참고 자료