Memantau penggunaan
Pantau penggunaan Claude Code dengan metrik OpenTelemetry
Dukungan OpenTelemetry saat ini dalam tahap beta dan detailnya dapat berubah.
OpenTelemetry di Claude Code
Claude Code mendukung metrik OpenTelemetry (OTel) untuk pemantauan dan observabilitas. Dokumen ini menjelaskan cara mengaktifkan dan mengonfigurasi OTel untuk Claude Code.
Semua metrik adalah data deret waktu yang diekspor melalui protokol metrik standar OpenTelemetry. Pengguna bertanggung jawab untuk memastikan backend metrik mereka dikonfigurasi dengan benar dan granularitas agregasi memenuhi persyaratan pemantauan mereka.
Mulai Cepat
Konfigurasikan OpenTelemetry menggunakan variabel lingkungan:
Interval ekspor default adalah 10 menit. Selama penyiapan, Anda mungkin ingin menggunakan interval yang lebih pendek untuk tujuan debugging. Ingat untuk mengatur ulang ini untuk penggunaan produksi.
Untuk opsi konfigurasi lengkap, lihat spesifikasi OpenTelemetry.
Konfigurasi Administrator
Administrator dapat mengonfigurasi pengaturan OpenTelemetry untuk semua pengguna melalui file pengaturan terkelola. Ini memungkinkan kontrol terpusat atas pengaturan telemetri di seluruh organisasi. Lihat hierarki konfigurasi untuk informasi lebih lanjut tentang bagaimana pengaturan diterapkan.
File pengaturan terkelola terletak di:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux:
/etc/claude-code/managed-settings.json
Contoh konfigurasi pengaturan terkelola:
Pengaturan terkelola dapat didistribusikan melalui MDM (Mobile Device Management) atau solusi manajemen perangkat lainnya. Variabel lingkungan yang didefinisikan dalam file pengaturan terkelola memiliki prioritas tinggi dan tidak dapat diganti oleh pengguna.
Detail Konfigurasi
Variabel Konfigurasi Umum
Variabel Lingkungan | Deskripsi | Contoh Nilai |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Mengaktifkan pengumpulan telemetri (wajib) | 1 |
OTEL_METRICS_EXPORTER | Jenis eksporter yang digunakan (dipisahkan koma) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Protokol untuk eksporter OTLP | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint pengumpul OTLP | http://localhost:4317 |
OTEL_EXPORTER_OTLP_HEADERS | Header autentikasi untuk OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Kunci klien untuk autentikasi mTLS | Jalur ke file kunci klien |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Sertifikat klien untuk autentikasi mTLS | Jalur ke file sertifikat klien |
OTEL_METRIC_EXPORT_INTERVAL | Interval ekspor dalam milidetik (default: 10000) | 5000 , 60000 |
Kontrol Kardinalitas Metrik
Variabel lingkungan berikut mengontrol atribut mana yang disertakan dalam metrik untuk mengelola kardinalitas:
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 |
Variabel-variabel ini membantu mengontrol kardinalitas metrik, yang memengaruhi persyaratan penyimpanan dan performa kueri di backend metrik Anda. Kardinalitas yang lebih rendah umumnya berarti performa yang lebih baik dan biaya penyimpanan yang lebih rendah tetapi data yang kurang terperinci untuk analisis.
Contoh Konfigurasi
Metrik yang Tersedia
Claude Code mengekspor metrik berikut:
Nama Metrik | Deskripsi | Unit |
---|---|---|
claude_code.session.count | Jumlah sesi CLI yang dimulai | hitungan |
claude_code.lines_of_code.count | Jumlah baris kode yang dimodifikasi | hitungan |
claude_code.pull_request.count | Jumlah pull request yang dibuat | hitungan |
claude_code.commit.count | Jumlah git commit yang dibuat | hitungan |
claude_code.cost.usage | Biaya sesi Claude Code | USD |
claude_code.token.usage | Jumlah token yang digunakan | token |
Detail Metrik
Semua metrik berbagi atribut standar ini:
session.id
: Pengidentifikasi sesi unik (dikontrol olehOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Versi Claude Code saat ini (dikontrol olehOTEL_METRICS_INCLUDE_VERSION
)organization.id
: UUID organisasi (saat diautentikasi)user.account_uuid
: UUID akun (saat diautentikasi, dikontrol olehOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Penghitung Sesi
Dipancarkan pada awal setiap sesi.
2. Penghitung Baris Kode
Dipancarkan ketika kode ditambahkan atau dihapus.
- Atribut tambahan:
type
("added"
atau"removed"
)
3. Penghitung Pull Request
Dipancarkan saat membuat pull request melalui Claude Code.
4. Penghitung Commit
Dipancarkan saat membuat git commit melalui Claude Code.
5. Penghitung Biaya
Dipancarkan setelah setiap permintaan API.
- Atribut tambahan:
model
6. Penghitung Token
Dipancarkan setelah setiap permintaan API.
- Atribut tambahan:
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) danmodel
Menginterpretasikan Data Metrik
Metrik ini memberikan wawasan tentang pola penggunaan, produktivitas, dan biaya:
Pemantauan Penggunaan
Metrik | Peluang Analisis |
---|---|
claude_code.token.usage | Uraikan 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 |
Pemantauan Biaya
Metrik claude_code.cost.usage
membantu dengan:
- Melacak tren penggunaan di seluruh tim atau individu
- Mengidentifikasi sesi penggunaan tinggi untuk optimasi
Metrik biaya adalah perkiraan. Untuk data penagihan resmi, lihat penyedia API Anda (Anthropic Console, AWS Bedrock, atau Google Cloud Vertex).
Peringatan dan Segmentasi
Peringatan umum yang perlu dipertimbangkan:
- Lonjakan biaya
- Konsumsi token yang tidak biasa
- Volume sesi tinggi dari pengguna tertentu
Semua metrik dapat disegmentasikan berdasarkan user.account_uuid
, organization.id
, session.id
, model
, dan app.version
.
Pertimbangan Backend
Jenis Backend | Terbaik Untuk |
---|---|
Database deret waktu (Prometheus) | Perhitungan tingkat, metrik agregat |
Penyimpanan kolumnar (ClickHouse) | Kueri kompleks, analisis pengguna unik |
Platform observabilitas (Honeycomb, Datadog) | Kueri lanjutan, visualisasi, peringatan |
Untuk metrik DAU/WAU/MAU, pilih backend yang mendukung kueri nilai unik yang efisien.
Informasi Layanan
Semua metrik diekspor dengan:
- Nama Layanan:
claude-code
- Versi Layanan: Versi Claude Code saat ini
- Nama Meter:
com.anthropic.claude_code
Pertimbangan Keamanan
- Telemetri bersifat opt-in dan memerlukan konfigurasi eksplisit
- Informasi sensitif seperti kunci API atau konten file tidak pernah disertakan dalam metrik