PHP Custom Instrumentation using the OpenTelemetry API
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.개요
다음의 경우 OpenTelemetry API를 사용해 애플리케이션을 수동으로 계측해야 합니다.
- Datadog이 지원하는 라이브러리 계측을 사용하고 있지 않습니다.
ddtrace
라이브러리의 기능을 확장하고 싶습니다.- 애플리케이션 계측을 보다 세밀하게 제어해야 합니다.
ddtrace
라이브러리는 이러한 목표를 달성하는 데 도움이 됩니다. 다음 섹션에서는 커스텀 계측을 위해 Datadog과 OpenTelemetry API를 함께 사용하는 방법을 다룹니다.
설정
OpenTelemetry를 설정하여 Datadog 트레이스 공급자를 사용하려면,
- OpenTelemetry API 패키지를 설치합니다.
composer require open-telemetry/sdk
OpenTelemetry PHP 매뉴얼 계측 설명서에 따라 PHP 코드에 원하는 OpenTelemetry 계측을 수동으로 추가하세요.
Datadog PHP 추적 라이브러리]6을 설치합니다.
DD_TRACE_OTEL_ENABLED
을 true
로 설정합니다.
Datadog는 이러한 OpenTelemetry 스팬(span)을 다른 Datadog 애플리케이션 성능 모니터링(APM) 스팬(span)과 결합하여 애플리케이션의 단일 트레이스로 만듭니다.
스팬(span) 태그 추가하기
스팬(span)을 시작하는 바로 그 순간에 속성을 추가할 수 있습니다:
$span = $tracer->spanBuilder('mySpan')
->setAttribute('key', 'value')
->startSpan();
또는 스팬(span) 이 활성화되어 있는 동안,
$activeSpan = OpenTelemetry\API\Trace\Span::getCurrent();
$activeSpan->setAttribute('key', 'value');
스팬(span)에 오류 설정
예외가 발생할 때 활성화되어 있는 경우 예외 정보가 캡처되고 스팬(span)에 첨부됩니다.
// Create a span
$span = $tracer->spanBuilder('mySpan')->startSpan();
throw new \Exception('Oops!');
// 'mySpan' will be flagged as erroneous and have
// the stack trace and exception message attached as tags
트레이스에 오류 플래그를 지정하는 것도 수동으로 할 수 있습니다:
use OpenTelemetry\API\Trace\Span;
use OpenTelemetry\Context\Context;
// Can only be done after the setup steps, such as initializing the tracer.
try {
throw new \Exception('Oops!');
} catch (\Exception $e) {
$rootSpan = Span::fromContext(Context::getRoot());
$rootSpan->recordException($e);
}
스팬(span) 추가
스팬(span)을 추가하려면,
// Get a tracer or use an existing one
$tracerProvider = \OpenTelemetry\API\Globals::tracerProvider();
$tracer = $tracerProvider->getTracer('datadog')
// Create a span
$span = $tracer->spanBuilder('mySpan')->startSpan();
// ... do stuff
// Close the span
$span->end();
활성 스팬에 액세스(스팬(span))
현재 활성화된 스팬(span) 에 액세스하려면:
스팬(span) = OpenTelemetry\API\추적하다\스팬(span)::getCurrent();
참고 자료