Pelajari cara mengaktifkan dan mengonfigurasi OpenTelemetry untuk Claude Code.
/Library/Application Support/ClaudeCode/managed-settings.json
/etc/claude-code/managed-settings.json
C:\ProgramData\ClaudeCode\managed-settings.json
Variabel Lingkungan | Deskripsi | Contoh Nilai |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Mengaktifkan pengumpulan telemetri (diperlukan) | 1 |
OTEL_METRICS_EXPORTER | Jenis eksporter metrik (dipisahkan koma) | console , otlp , prometheus |
OTEL_LOGS_EXPORTER | Jenis eksporter logs/events (dipisahkan koma) | console , otlp |
OTEL_EXPORTER_OTLP_PROTOCOL | Protokol untuk eksporter OTLP (semua sinyal) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint kolektor OTLP (semua sinyal) | http://localhost:4317 |
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL | Protokol untuk metrik (menimpa umum) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT | Endpoint metrik OTLP (menimpa umum) | http://localhost:4318/v1/metrics |
OTEL_EXPORTER_OTLP_LOGS_PROTOCOL | Protokol untuk logs (menimpa umum) | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT | Endpoint logs OTLP (menimpa umum) | http://localhost:4318/v1/logs |
OTEL_EXPORTER_OTLP_HEADERS | Header autentikasi untuk OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Kunci klien untuk autentikasi mTLS | Path ke file kunci klien |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Sertifikat klien untuk autentikasi mTLS | Path ke file sertifikat klien |
OTEL_METRIC_EXPORT_INTERVAL | Interval ekspor dalam milidetik (default: 60000) | 5000 , 60000 |
OTEL_LOGS_EXPORT_INTERVAL | Interval ekspor logs dalam milidetik (default: 5000) | 1000 , 10000 |
OTEL_LOG_USER_PROMPTS | Aktifkan logging konten prompt pengguna (default: dinonaktifkan) | 1 untuk mengaktifkan |
Variabel Lingkungan | Deskripsi | Nilai Default | Contoh untuk Menonaktifkan |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | Sertakan atribut session.id dalam metrik | true | false |
OTEL_METRICS_INCLUDE_VERSION | Sertakan atribut app.version dalam metrik | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | Sertakan atribut user.account_uuid dalam metrik | true | false |
.claude/settings.json
Anda:
OTEL_RESOURCE_ATTRIBUTES
:
OTEL_RESOURCE_ATTRIBUTES
mengikuti spesifikasi W3C Baggage, yang memiliki persyaratan format yang ketat:user.organizationName=My Company
tidak validkey1=value1,key2=value2
"key=value with spaces"
) tidak didukung oleh spesifikasi OpenTelemetry dan akan menghasilkan atribut yang diawali dengan tanda kutip.Atribut | Deskripsi | Dikontrol Oleh |
---|---|---|
session.id | Identifier sesi unik | OTEL_METRICS_INCLUDE_SESSION_ID (default: true) |
app.version | Versi Claude Code saat ini | OTEL_METRICS_INCLUDE_VERSION (default: false) |
organization.id | UUID organisasi (saat terautentikasi) | Selalu disertakan saat tersedia |
user.account_uuid | UUID akun (saat terautentikasi) | OTEL_METRICS_INCLUDE_ACCOUNT_UUID (default: true) |
terminal.type | Jenis terminal (misalnya, iTerm.app , vscode , cursor , tmux ) | Selalu disertakan saat terdeteksi |
Nama Metrik | Deskripsi | Unit |
---|---|---|
claude_code.session.count | Jumlah sesi CLI yang dimulai | count |
claude_code.lines_of_code.count | Jumlah baris kode yang dimodifikasi | count |
claude_code.pull_request.count | Jumlah pull request yang dibuat | count |
claude_code.commit.count | Jumlah git commit yang dibuat | count |
claude_code.cost.usage | Biaya sesi Claude Code | USD |
claude_code.token.usage | Jumlah token yang digunakan | tokens |
claude_code.code_edit_tool.decision | Jumlah keputusan izin tool pengeditan kode | count |
claude_code.active_time.total | Total waktu aktif dalam detik | s |
type
: ("added"
, "removed"
)model
: Identifier model (misalnya, “claude-3-5-sonnet-20241022”)type
: ("input"
, "output"
, "cacheRead"
, "cacheCreation"
)model
: Identifier model (misalnya, “claude-3-5-sonnet-20241022”)tool
: Nama tool ("Edit"
, "MultiEdit"
, "Write"
, "NotebookEdit"
)decision
: Keputusan pengguna ("accept"
, "reject"
)language
: Bahasa pemrograman dari file yang diedit (misalnya, "TypeScript"
, "Python"
, "JavaScript"
, "Markdown"
). Mengembalikan "unknown"
untuk ekstensi file yang tidak dikenali.OTEL_LOGS_EXPORTER
dikonfigurasi):
claude_code.user_prompt
Atribut:
event.name
: "user_prompt"
event.timestamp
: Timestamp ISO 8601prompt_length
: Panjang promptprompt
: Konten prompt (disunting secara default, aktifkan dengan OTEL_LOG_USER_PROMPTS=1
)claude_code.tool_result
Atribut:
event.name
: "tool_result"
event.timestamp
: Timestamp ISO 8601tool_name
: Nama toolsuccess
: "true"
atau "false"
duration_ms
: Waktu eksekusi dalam milidetikerror
: Pesan error (jika gagal)decision
: Baik "accept"
atau "reject"
source
: Sumber keputusan - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, atau "user_reject"
tool_parameters
: String JSON yang berisi parameter khusus tool (ketika tersedia)
bash_command
, full_command
, timeout
, description
, sandbox
claude_code.api_request
Atribut:
event.name
: "api_request"
event.timestamp
: Timestamp ISO 8601model
: Model yang digunakan (misalnya, “claude-3-5-sonnet-20241022”)cost_usd
: Perkiraan biaya dalam USDduration_ms
: Durasi permintaan dalam milidetikinput_tokens
: Jumlah token inputoutput_tokens
: Jumlah token outputcache_read_tokens
: Jumlah token yang dibaca dari cachecache_creation_tokens
: Jumlah token yang digunakan untuk pembuatan cacheclaude_code.api_error
Atribut:
event.name
: "api_error"
event.timestamp
: Timestamp ISO 8601model
: Model yang digunakan (misalnya, “claude-3-5-sonnet-20241022”)error
: Pesan errorstatus_code
: Kode status HTTP (jika berlaku)duration_ms
: Durasi permintaan dalam milidetikattempt
: Nomor percobaan (untuk permintaan yang dicoba ulang)claude_code.tool_decision
Atribut:
event.name
: "tool_decision"
event.timestamp
: Timestamp ISO 8601tool_name
: Nama tool (misalnya, “Read”, “Edit”, “MultiEdit”, “Write”, “NotebookEdit”, dll.)decision
: Baik "accept"
atau "reject"
source
: Sumber keputusan - "config"
, "user_permanent"
, "user_temporary"
, "user_abort"
, atau "user_reject"
Metrik | Peluang Analisis |
---|---|
claude_code.token.usage | Breakdown berdasarkan type (input/output), pengguna, tim, atau model |
claude_code.session.count | Lacak adopsi dan keterlibatan dari waktu ke waktu |
claude_code.lines_of_code.count | Ukur produktivitas dengan melacak penambahan/penghapusan kode |
claude_code.commit.count & claude_code.pull_request.count | Pahami dampak pada alur kerja pengembangan |
claude_code.cost.usage
membantu dengan:
user.account_uuid
, organization.id
, session.id
, model
, dan app.version
.
service.name
: claude-code
service.version
: Versi Claude Code saat inios.type
: Jenis sistem operasi (misalnya, linux
, darwin
, windows
)os.version
: String versi sistem operasihost.arch
: Arsitektur host (misalnya, amd64
, arm64
)wsl.version
: Nomor versi WSL (hanya ada saat berjalan di Windows Subsystem for Linux)com.anthropic.claude_code
OTEL_LOG_USER_PROMPTS=1