OpenTelemetry
Copilot CLI include il tracciamento OpenTelemetry integrato. Con la sola configurazione lato SDK puoi raccogliere i dati di trace del processo CLI.Uso di base
Abilitare il tracing del processo CLI
Aggiungi la configurazione telemetry inconfig/copilot.php o passala direttamente come opzione.
Opzioni di TelemetryConfig
| Opzione | Descrizione |
|---|---|
otlpEndpoint | URL dell’endpoint OTLP HTTP |
filePath | Percorso file di output dei trace JSON-lines |
exporterType | "otlp-http" o "file" |
sourceName | Nome dello scope di instrumentation |
captureContent | Se catturare il contenuto dei messaggi (prompt, risposte) |
Propagazione del W3C Trace Context
Per la maggior parte degli utenti questa funzionalità non è necessaria. Con la sola
TelemetryConfig sopra puoi raccogliere i trace della CLI. Quanto segue è una funzionalità avanzata utile se vuoi creare span OpenTelemetry propri dall’applicazione e farli comparire nello stesso trace distribuito degli span della CLI.traceparent/tracestate) nelle richieste JSON-RPC session.create, session.resume e session.send.
Propagazione automatica (consigliata)
Basta installare il pacchettoopen-telemetry/api per far propagare automaticamente il trace context.
Provider personalizzato
Se vuoi usare una logica personalizzata per ottenere il trace context:SDK → CLI (in uscita)
traceparent/tracestate vengono automaticamente iniettati nelle seguenti chiamate RPC.
session.create— alla creazione della sessionesession.resume— alla ripresa della sessionesession.send— all’invio del messaggio
CLI → SDK (in entrata)
Quando la CLI invoca uno strumento, l’array$invocation dell’handler dello strumento contiene il trace context.
open-telemetry/api è installato, il contesto OpenTelemetry durante l’esecuzione dell’handler dello strumento è collegato automaticamente allo span della CLI. Non serve usare esplicitamente traceparent.
Dipendenze
| Pacchetto | Uso |
|---|---|
open-telemetry/api | Propagazione automatica del Trace Context (suggest, opzionale) |
open-telemetry/sdk | Esportazione dei dati di trace |
open-telemetry/api è incluso nel suggest di composer.json. Anche se non è installato, l’SDK funziona correttamente.
Per le informazioni più recenti fai riferimento al repository GitHub.