OpenTelemetry
Le Copilot CLI intègre un tracing OpenTelemetry. Il suffit de le configurer côté SDK pour collecter les données de trace du processus CLI.Utilisation de base
Activer le tracing du processus CLI
Ajoutez la configuration telemetry àconfig/copilot.php ou spécifiez-la directement en option.
Options de TelemetryConfig
| Option | Description |
|---|---|
otlpEndpoint | URL de l’endpoint OTLP HTTP |
filePath | Chemin de fichier pour la sortie de traces en JSON-lines |
exporterType | "otlp-http" ou "file" |
sourceName | Nom du scope d’instrumentation |
captureContent | Capturer le contenu des messages (prompts, réponses) |
Propagation du W3C Trace Context
La plupart des utilisateurs n’ont pas besoin de cette fonctionnalité. La
TelemetryConfig ci-dessus suffit à collecter les traces du CLI. Ci-dessous, il s’agit d’une capacité avancée pour ceux qui créent leurs propres spans OpenTelemetry côté application et souhaitent les voir dans la même trace distribuée que celles du CLI.traceparent/tracestate) dans les requêtes JSON-RPC session.create, session.resume et session.send.
Propagation automatique (recommandée)
Il suffit d’installer le paquetopen-telemetry/api pour que le trace context soit propagé automatiquement.
Fournisseur personnalisé
Pour utiliser votre propre logique de récupération du trace context :SDK → CLI (sortant)
traceparent/tracestate sont injectés automatiquement dans les appels RPC suivants.
session.create— création de sessionsession.resume— reprise de sessionsession.send— envoi de message
CLI → SDK (entrant)
Lorsque le CLI appelle un outil, le trace context se retrouve dans le tableau$invocation du gestionnaire d’outil.
open-telemetry/api est installé, le contexte OpenTelemetry pendant l’exécution du gestionnaire d’outil est automatiquement lié au span du CLI. Il n’est pas nécessaire d’utiliser explicitement traceparent.
Dépendances
| Paquet | Rôle |
|---|---|
open-telemetry/api | Propagation automatique du Trace Context (suggest, optionnel) |
open-telemetry/sdk | Export des données de trace |
open-telemetry/api est référencé en suggest de composer.json. Le SDK fonctionne aussi sans qu’il soit installé.
Pour les dernières informations, consultez le dépôt GitHub.