Surveillance de l'utilisation
Surveillez l’utilisation de Claude Code avec les métriques OpenTelemetry
La prise en charge d’OpenTelemetry est actuellement en version bêta et les détails sont susceptibles de changer.
OpenTelemetry dans Claude Code
Claude Code prend en charge les métriques OpenTelemetry (OTel) pour la surveillance et l’observabilité. Ce document explique comment activer et configurer OTel pour Claude Code.
Toutes les métriques sont des données de séries temporelles exportées via le protocole standard de métriques d’OpenTelemetry. Il incombe à l’utilisateur de s’assurer que son backend de métriques est correctement configuré et que la granularité d’agrégation répond à ses exigences de surveillance.
Démarrage rapide
Configurez OpenTelemetry à l’aide de variables d’environnement :
L’intervalle d’exportation par défaut est de 10 minutes. Pendant la configuration, vous pourriez vouloir utiliser un intervalle plus court à des fins de débogage. N’oubliez pas de le réinitialiser pour une utilisation en production.
Pour les options de configuration complètes, consultez la spécification OpenTelemetry.
Configuration administrateur
Les administrateurs peuvent configurer les paramètres OpenTelemetry pour tous les utilisateurs via le fichier de paramètres gérés. Cela permet un contrôle centralisé des paramètres de télémétrie dans toute une organisation. Consultez la hiérarchie de configuration pour plus d’informations sur la façon dont les paramètres sont appliqués.
Le fichier de paramètres gérés se trouve à :
- macOS :
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux :
/etc/claude-code/managed-settings.json
Exemple de configuration des paramètres gérés :
Les paramètres gérés peuvent être distribués via MDM (Mobile Device Management) ou d’autres solutions de gestion d’appareils. Les variables d’environnement définies dans le fichier de paramètres gérés ont une priorité élevée et ne peuvent pas être remplacées par les utilisateurs.
Détails de configuration
Variables de configuration courantes
Variable d’environnement | Description | Exemples de valeurs |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Active la collecte de télémétrie (obligatoire) | 1 |
OTEL_METRICS_EXPORTER | Type(s) d’exportateur à utiliser (séparés par des virgules) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Protocole pour l’exportateur OTLP | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Point de terminaison du collecteur OTLP | http://localhost:4317 |
OTEL_EXPORTER_OTLP_HEADERS | En-têtes d’authentification pour OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Clé client pour l’authentification mTLS | Chemin vers le fichier de clé client |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Certificat client pour l’authentification mTLS | Chemin vers le fichier de certificat client |
OTEL_METRIC_EXPORT_INTERVAL | Intervalle d’exportation en millisecondes (par défaut : 10000) | 5000 , 60000 |
Contrôle de cardinalité des métriques
Les variables d’environnement suivantes contrôlent quels attributs sont inclus dans les métriques pour gérer la cardinalité :
Variable d’environnement | Description | Valeur par défaut | Exemple pour désactiver |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | Inclure l’attribut session.id dans les métriques | true | false |
OTEL_METRICS_INCLUDE_VERSION | Inclure l’attribut app.version dans les métriques | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | Inclure l’attribut user.account_uuid dans les métriques | true | false |
Ces variables aident à contrôler la cardinalité des métriques, ce qui affecte les besoins en stockage et les performances des requêtes dans votre backend de métriques. Une cardinalité plus faible signifie généralement de meilleures performances et des coûts de stockage inférieurs, mais des données moins granulaires pour l’analyse.
Exemples de configurations
Métriques disponibles
Claude Code exporte les métriques suivantes :
Nom de la métrique | Description | Unité |
---|---|---|
claude_code.session.count | Nombre de sessions CLI démarrées | nombre |
claude_code.lines_of_code.count | Nombre de lignes de code modifiées | nombre |
claude_code.pull_request.count | Nombre de pull requests créées | nombre |
claude_code.commit.count | Nombre de commits git créés | nombre |
claude_code.cost.usage | Coût de la session Claude Code | USD |
claude_code.token.usage | Nombre de tokens utilisés | tokens |
Détails des métriques
Toutes les métriques partagent ces attributs standard :
session.id
: Identifiant unique de session (contrôlé parOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Version actuelle de Claude Code (contrôlée parOTEL_METRICS_INCLUDE_VERSION
)organization.id
: UUID de l’organisation (lorsqu’authentifié)user.account_uuid
: UUID du compte (lorsqu’authentifié, contrôlé parOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Compteur de sessions
Émis au début de chaque session.
2. Compteur de lignes de code
Émis lorsque du code est ajouté ou supprimé.
- Attribut supplémentaire :
type
("added"
ou"removed"
)
3. Compteur de pull requests
Émis lors de la création de pull requests via Claude Code.
4. Compteur de commits
Émis lors de la création de commits git via Claude Code.
5. Compteur de coûts
Émis après chaque requête API.
- Attribut supplémentaire :
model
6. Compteur de tokens
Émis après chaque requête API.
- Attributs supplémentaires :
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) etmodel
Interprétation des données métriques
Ces métriques fournissent des informations sur les modèles d’utilisation, la productivité et les coûts :
Surveillance de l’utilisation
Métrique | Opportunité d’analyse |
---|---|
claude_code.token.usage | Répartition par type (entrée/sortie), utilisateur, équipe ou modèle |
claude_code.session.count | Suivi de l’adoption et de l’engagement au fil du temps |
claude_code.lines_of_code.count | Mesure de la productivité en suivant les ajouts/suppressions de code |
claude_code.commit.count & claude_code.pull_request.count | Comprendre l’impact sur les flux de travail de développement |
Surveillance des coûts
La métrique claude_code.cost.usage
aide à :
- Suivre les tendances d’utilisation entre les équipes ou les individus
- Identifier les sessions à forte utilisation pour optimisation
Les métriques de coût sont des approximations. Pour les données de facturation officielles, référez-vous à votre fournisseur d’API (Anthropic Console, AWS Bedrock ou Google Cloud Vertex).
Alertes et segmentation
Alertes courantes à considérer :
- Pics de coûts
- Consommation inhabituelle de tokens
- Volume élevé de sessions provenant d’utilisateurs spécifiques
Toutes les métriques peuvent être segmentées par user.account_uuid
, organization.id
, session.id
, model
et app.version
.
Considérations sur le backend
Type de backend | Idéal pour |
---|---|
Bases de données de séries temporelles (Prometheus) | Calculs de taux, métriques agrégées |
Stockages en colonnes (ClickHouse) | Requêtes complexes, analyse d’utilisateurs uniques |
Plateformes d’observabilité (Honeycomb, Datadog) | Requêtes avancées, visualisation, alertes |
Pour les métriques DAU/WAU/MAU, choisissez des backends qui prennent en charge les requêtes efficaces de valeurs uniques.
Informations de service
Toutes les métriques sont exportées avec :
- Nom du service :
claude-code
- Version du service : Version actuelle de Claude Code
- Nom du compteur :
com.anthropic.claude_code
Considérations de sécurité
- La télémétrie est optionnelle et nécessite une configuration explicite
- Les informations sensibles comme les clés API ou le contenu des fichiers ne sont jamais incluses dans les métriques