Поддержка OpenTelemetry в настоящее время находится в бета-версии, и детали могут измениться.

OpenTelemetry в Claude Code

Claude Code поддерживает метрики OpenTelemetry (OTel) для мониторинга и наблюдаемости. В этом документе объясняется, как включить и настроить OTel для Claude Code.

Все метрики представляют собой данные временных рядов, экспортируемые через стандартный протокол метрик OpenTelemetry. Пользователь несет ответственность за правильную настройку своего бэкенда метрик и за то, чтобы детализация агрегации соответствовала их требованиям к мониторингу.

Быстрый старт

Настройте OpenTelemetry с помощью переменных окружения:

# 1. Включите телеметрию
export CLAUDE_CODE_ENABLE_TELEMETRY=1

# 2. Выберите экспортер
export OTEL_METRICS_EXPORTER=otlp       # Варианты: otlp, prometheus, console

# 3. Настройте конечную точку OTLP (для экспортера OTLP)
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

# 4. Установите аутентификацию (если требуется)
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer your-token"

# 5. Для отладки: уменьшите интервал экспорта (по умолчанию: 600000мс/10мин)
export OTEL_METRIC_EXPORT_INTERVAL=10000  # 10 секунд

# 6. Запустите Claude Code
claude

Интервал экспорта по умолчанию составляет 10 минут. Во время настройки вы можете использовать более короткий интервал для целей отладки. Не забудьте сбросить это значение для использования в производственной среде.

Полные параметры конфигурации см. в спецификации OpenTelemetry.

Конфигурация администратора

Администраторы могут настраивать параметры OpenTelemetry для всех пользователей через файл управляемых настроек. Это позволяет централизованно контролировать настройки телеметрии в организации. См. иерархию конфигурации для получения дополнительной информации о том, как применяются настройки.

Файл управляемых настроек находится по адресу:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux: /etc/claude-code/managed-settings.json

Пример конфигурации управляемых настроек:

{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp",
    "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.company.com:4317",
    "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer company-token"
  }
}

Управляемые настройки могут распространяться через MDM (Mobile Device Management) или другие решения для управления устройствами. Переменные окружения, определенные в файле управляемых настроек, имеют высокий приоритет и не могут быть переопределены пользователями.

Детали конфигурации

Общие переменные конфигурации

Переменная окруженияОписаниеПримеры значений
CLAUDE_CODE_ENABLE_TELEMETRYВключает сбор телеметрии (обязательно)1
OTEL_METRICS_EXPORTERТип(ы) экспортера для использования (через запятую)console, otlp, prometheus
OTEL_EXPORTER_OTLP_PROTOCOLПротокол для экспортера OTLPgrpc, http/json, http/protobuf
OTEL_EXPORTER_OTLP_ENDPOINTКонечная точка коллектора OTLPhttp://localhost:4317
OTEL_EXPORTER_OTLP_HEADERSЗаголовки аутентификации для OTLPAuthorization=Bearer token
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEYКлиентский ключ для аутентификации mTLSПуть к файлу клиентского ключа
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATEКлиентский сертификат для аутентификации mTLSПуть к файлу клиентского сертификата
OTEL_METRIC_EXPORT_INTERVALИнтервал экспорта в миллисекундах (по умолчанию: 10000)5000, 60000

Управление кардинальностью метрик

Следующие переменные окружения управляют тем, какие атрибуты включаются в метрики для управления кардинальностью:

Переменная окруженияОписаниеЗначение по умолчаниюПример для отключения
OTEL_METRICS_INCLUDE_SESSION_IDВключить атрибут session.id в метрикиtruefalse
OTEL_METRICS_INCLUDE_VERSIONВключить атрибут app.version в метрикиfalsetrue
OTEL_METRICS_INCLUDE_ACCOUNT_UUIDВключить атрибут user.account_uuid в метрикиtruefalse

Эти переменные помогают контролировать кардинальность метрик, что влияет на требования к хранению и производительность запросов в вашем бэкенде метрик. Более низкая кардинальность обычно означает лучшую производительность и более низкие затраты на хранение, но менее детализированные данные для анализа.

Примеры конфигураций

# Отладка в консоли (интервалы в 1 секунду)
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=console
export OTEL_METRIC_EXPORT_INTERVAL=1000

# OTLP/gRPC
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

# Prometheus
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=prometheus

# Несколько экспортеров
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=console,otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=http/json

Доступные метрики

Claude Code экспортирует следующие метрики:

Название метрикиОписаниеЕдиница измерения
claude_code.session.countКоличество запущенных сессий CLIколичество
claude_code.lines_of_code.countКоличество измененных строк кодаколичество
claude_code.pull_request.countКоличество созданных pull request’овколичество
claude_code.commit.countКоличество созданных git-коммитовколичество
claude_code.cost.usageСтоимость сессии Claude CodeUSD
claude_code.token.usageКоличество использованных токеновтокены

Детали метрик

Все метрики имеют следующие стандартные атрибуты:

  • session.id: Уникальный идентификатор сессии (контролируется OTEL_METRICS_INCLUDE_SESSION_ID)
  • app.version: Текущая версия Claude Code (контролируется OTEL_METRICS_INCLUDE_VERSION)
  • organization.id: UUID организации (при аутентификации)
  • user.account_uuid: UUID аккаунта (при аутентификации, контролируется OTEL_METRICS_INCLUDE_ACCOUNT_UUID)

1. Счетчик сессий

Отправляется в начале каждой сессии.

2. Счетчик строк кода

Отправляется при добавлении или удалении кода.

  • Дополнительный атрибут: type ("added" или "removed")

3. Счетчик Pull Request’ов

Отправляется при создании pull request’ов через Claude Code.

4. Счетчик коммитов

Отправляется при создании git-коммитов через Claude Code.

5. Счетчик стоимости

Отправляется после каждого API-запроса.

  • Дополнительный атрибут: model

6. Счетчик токенов

Отправляется после каждого API-запроса.

  • Дополнительные атрибуты: type ("input", "output", "cacheRead", "cacheCreation") и model

Интерпретация данных метрик

Эти метрики предоставляют информацию о моделях использования, продуктивности и затратах:

Мониторинг использования

МетрикаВозможность анализа
claude_code.token.usageРазбивка по type (ввод/вывод), пользователю, команде или модели
claude_code.session.countОтслеживание внедрения и вовлеченности с течением времени
claude_code.lines_of_code.countИзмерение продуктивности путем отслеживания добавлений/удалений кода
claude_code.commit.count и claude_code.pull_request.countПонимание влияния на рабочие процессы разработки

Мониторинг затрат

Метрика claude_code.cost.usage помогает с:

  • Отслеживанием тенденций использования в командах или отдельными лицами
  • Выявлением сессий с высоким использованием для оптимизации

Метрики затрат являются приблизительными. Для официальных данных о биллинге обратитесь к вашему поставщику API (Anthropic Console, AWS Bedrock или Google Cloud Vertex).

Оповещения и сегментация

Распространенные оповещения для рассмотрения:

  • Скачки затрат
  • Необычное потребление токенов
  • Большой объем сессий от конкретных пользователей

Все метрики могут быть сегментированы по user.account_uuid, organization.id, session.id, model и app.version.

Соображения по бэкенду

Тип бэкендаЛучше всего подходит для
Базы данных временных рядов (Prometheus)Расчеты скорости, агрегированные метрики
Столбчатые хранилища (ClickHouse)Сложные запросы, анализ уникальных пользователей
Платформы наблюдаемости (Honeycomb, Datadog)Расширенные запросы, визуализация, оповещения

Для метрик DAU/WAU/MAU выбирайте бэкенды, которые поддерживают эффективные запросы уникальных значений.

Информация о сервисе

Все метрики экспортируются с:

  • Имя сервиса: claude-code
  • Версия сервиса: Текущая версия Claude Code
  • Имя измерителя: com.anthropic.claude_code

Соображения безопасности

  • Телеметрия является опциональной и требует явной конфигурации
  • Конфиденциальная информация, такая как API-ключи или содержимое файлов, никогда не включается в метрики