OpenTelemetry
De Copilot CLI heeft ingebouwde tracing via OpenTelemetry. Je hoeft dit alleen aan de SDK-kant te configureren om tracedata van het CLI-proces te verzamelen.Basisgebruik
Tracing van het CLI-proces inschakelen
Voeg een telemetry-configuratie toe aanconfig/copilot.php, of geef die rechtstreeks als optie mee.
TelemetryConfig-opties
W3C Trace Context-propagatie
De meeste gebruikers hebben deze functie niet nodig. Met alleen de bovenstaande
TelemetryConfig kun je al traces van de CLI verzamelen. Wat volgt is een geavanceerde functie voor als je aan de applicatiekant eigen OpenTelemetry-spans wilt maken en die in dezelfde gedistribueerde trace wilt tonen als de spans van de CLI.traceparent/tracestate) in de JSON-RPC-requests session.create, session.resume en session.send.
Automatische propagatie (aanbevolen)
Installeer alleen het pakketopen-telemetry/api en de tracecontext wordt automatisch gepropageerd.
Custom provider
Als je je eigen logica wilt gebruiken om de tracecontext op te halen:SDK → CLI (uitgaand)
traceparent/tracestate worden automatisch geïnjecteerd in de volgende RPC-aanroepen.
session.create— bij het aanmaken van een sessiesession.resume— bij het hervatten van een sessiesession.send— bij het versturen van een bericht
CLI → SDK (inkomend)
Wanneer de CLI een tool aanroept, bevat de$invocation-array van de toolhandler de tracecontext.
open-telemetry/api is geïnstalleerd, wordt de OpenTelemetry-context tijdens het uitvoeren van de toolhandler automatisch gekoppeld aan de span van de CLI. Je hoeft traceparent niet expliciet te gebruiken.
Afhankelijkheden
open-telemetry/api staat in de suggest-sectie van composer.json. De SDK zelf werkt gewoon, ook als het pakket niet is geïnstalleerd.
Zie de GitHub-repository voor de meest recente informatie.