텔레메트리

텔레메트리 (Telemetry)

Docker Agent는 도구 개선을 위해 익명 사용 데이터를 수집해요. 텔레메트리는 언제든 비활성화할 수 있어요.

출처: 문서

본문

첫 실행 시 Docker Agent는 텔레메트리 수집에 대한 공지를 표시해서 항상 인지하게 해줘요. 모든 이벤트는 기록될 때 동기적으로 처리돼요.

텔레메트리 비활성화 (Disabling Telemetry)

# Disable via environment variable
$ TELEMETRY_ENABLED=false docker agent run agent.yaml

# Or export it in your shell profile
$ export TELEMETRY_ENABLED=false

Note 기본값 (Default) 텔레메트리는 기본적으로 활성화되어 있어요. 거부(opt out)하려면 TELEMETRY_ENABLED=false 를 설정하세요.

수집되는 것 ✅ (What's Collected)

  • 명령 이름과 성공/실패 상태
  • 에이전트 이름과 모델 유형
  • 도구 이름과 호출 성공/실패 여부
  • 토큰 수(입력/출력 합계)와 예상 비용
  • 세션 메타데이터 (지속 시간, 에러 수)

수집되지 않는 것 ❌ (What's NOT Collected)

  • 사용자 입력 또는 프롬프트
  • 에이전트 응답 또는 생성된 콘텐츠
  • 파일 내용
  • API 키 또는 자격 증명
  • 개인 식별 정보 (PII)

Tip 이벤트를 로컬에서 보기 --debug 를 사용하면 텔레메트리 이벤트를 어디에도 보내지 않고 디버그 로그로 출력할 수 있어요.

docker agent run agent.yaml --debug

이벤트 유형 (Event Types)

텔레메트리 시스템은 구조화되고 타입 안전한 이벤트를 사용해요:

Event Type What It Tracks
Command 성공 상태를 포함한 CLI 명령 실행
Tool 타이밍과 에러 정보를 포함한 에이전트 도구 호출
Token 모델, 세션, 비용별 LLM 토큰 사용량
Session 시작/종료 이벤트와 집계 메트릭을 포함한 에이전트 세션 수명 주기

개발자용 (For Developers)

텔레메트리는 모든 명령에 자동으로 감싸져 있어요. 추가 이벤트를 기록하려면 컨텍스트 기반 API를 사용해요:

// Recommended: context-based telemetry (clean, testable)
if telemetryClient := telemetry.FromContext(ctx); telemetryClient != nil {
    telemetryClient.RecordToolCall(ctx, "filesystem", "session-id", "agentName", time.Millisecond*500, nil)
    telemetryClient.RecordTokenUsage(ctx, "gpt-4", 100, 50, 0.01)
}

// Or use direct calls
telemetry.TrackCommand("run", args)

Track() 이 호출되면 이벤트는 동기적으로 처리되어 HTTP 요청을 즉시 보내요.

더 알아보기 (Learn more)