Datadog LLM Observability 계측 방식
Datadog LLM Observability 계측 방식 (Instrumentation)
LLM 앱을 관찰하려면 먼저 "데이터를 Datadog으로 어떻게 보낼지"를 정해야 해요. Agent Observability는 언어와 설정에 맞춰 여러 계측 방식을 제공해요. 트레이스·지표·평가를 최소한의 코드 변경으로 포착하게 해주죠. 여기서는 SDK 기반 계측과 HTTP API 계측으로 나눠서 정리할게요.
계측 방식 개요
앱을 Python·Node.js·Java SDK로 계측하거나, Agent Observability API로 계측할 수 있어요.
SDK 기반 계측 (권장)
Datadog 네이티브 SDK는 가장 포괄적인 Agent Observability 기능을 제공해요.
| 언어 | SDK 지원 | 자동 계측 | 커스텀 계측 |
|---|---|---|---|
| Python | Python 3.7+ | 지원 | 지원 |
| Node.js | Node.js 16+ | 지원 | 지원 |
| Java | Java 8+ | 지원 | 지원 |
SDK로 계측하려면 먼저 SDK를 설치하고, 시작 명령에 필요한 환경 변수를 넣거나 코드에서 프로그래밍 방식으로 설정해요. Datadog API key, Datadog 사이트, ML 앱 이름은 반드시 설정해야 해요.
자동 계측 (Auto-instrumentation)
자동 계측은 Python·Node.js·Java 앱에서 코드 변경 없이 LLM 호출을 포착해요. 인기 프레임워크와 프로바이더에서 기본 제공 트레이스·옵저버빌리티를 얻을 수 있죠. 자동 계측이 잡는 것들:
- 입력 프롬프트와 출력 컴플리션
- 토큰 사용량과 비용
- 지연 시간과 오류 정보
- 모델 파라미터 (temperature, max_tokens 등)
- 프레임워크 특화 메타데이터
지원되는 프레임워크를 쓰면 LLM 호출에 수동 스팬 생성이 필요 없어요. SDK가 풍부한 메타데이터를 가진 스팬을 자동으로 만들어 주거든요.
커스텀 계측 (Custom instrumentation)
모든 지원 SDK는 자동 계측 외에도 커스텀 계측을 위한 고급 기능을 제공해요:
- 함수 데코레이터나 컨텍스트 매니저로 수동 스팬 생성
- 다단계 LLM 앱의 복잡한 워크플로우 트레이싱
- 자율 LLM 에이전트를 위한 에이전트 모니터링
- 커스텀 평가와 품질 측정
- 사용자 상호작용을 위한 세션 추적
HTTP API 계측
SDK가 지원하지 않는 언어를 쓰거나 커스텀 통합을 사용한다면, Datadog HTTP API로 계측할 수 있어요. API로 할 수 있는 일:
- HTTP 엔드포인트로 스팬을 직접 제출
- 스팬에 연결된 커스텀 평가 전송
- 복잡한 앱을 위한 전체 트레이스 계층 구조 포함
- 입력·출력·메타데이터·지표로 스팬에 주석 추가
주요 API 엔드포인트:
- Spans API:
POST https://api./api/intake/llm-obs/v1/trace/spans - Evaluations API:
POST https://api./api/intake/llm-obs/v2/eval-metric