Your AI pair programmer is a distributed system. Measure it like one.
The actual input, output, cache-read, and cache-creation counts.
For that turn, from the span - not from a monthly aggregate.
Or did one volatile byte make the model process it again?
Requests, dependencies, retries, latency, errors, cache hit rate, and cost per operation.
A planner calls models and tools, crosses networks, retries, compacts context, uses a cache, and creates a bill.
{
"github.copilot.chat.otel.enabled": true,
"github.copilot.chat.otel.exporterType": "otlp-http",
"github.copilot.chat.otel.otlpEndpoint": "http://localhost:4318",
"github.copilot.chat.otel.captureContent": false
}
setx COPILOT_OTEL_ENABLED "true" setx OTEL_EXPORTER_OTLP_ENDPOINT "http://localhost:4318" setx OTEL_EXPORTER_OTLP_PROTOCOL "http/protobuf" # Leave OTEL_SERVICE_NAME unset.
VS Code copilot-chat
Copilot CLI github-copilot
Copilot SDK configurable via TelemetryConfig
JetBrains now has an OTel export panel; its service name is not documented.
Copilot app uses the CLI runtime and has been observed as github-copilot.
Visual Studio has no documented customer export path.
Cloud coding agent exposes client-side session/outcome metrics, not its server-side execution trace.
Agent identity, aggregate tokens, cost, AI units, and turn count.
Model, input/output tokens, cache creation, time to first chunk.
Tool name, duration, error, and optional content.
Same prefix, cache read, lower latency.
System instructions, tool order, and conversation history are staying stable between calls.
More cache creation means more input is processed as fresh instead of reused.
Cache reads often reach the first streamed chunk faster than equivalent cold calls.
All, VS Code, or Copilot CLI.
Read versus creation tokens over time.
Calls, p50, and time to first chunk.
Drill from a recent operation to raw spans.
Prompts, responses, system instructions, tool schemas, arguments, and results require explicit opt-in.
Model, token counts, cache counts, duration, cost/AI units, service, agent, and tool names.
The CLI can emit a pseudonymous user ID; repo, branch, commit, organization, agent, and skill metadata can identify work.
Start option A, enable VS Code and the CLI, use Copilot normally, and open the local dashboard.
Sort by cache-creation tokens. Correlate spikes with truncation and compaction events.
Keep it local, keep it in your Azure tenant, or use Grafana Cloud - with a collector when you need minimization and fan-out.
Tokens, latency, tools, cost, and every cache miss are already on the wire. Point them somewhere useful.
Four backend options, collector configs, dashboards, Azure scripts, and the source for this deck.
| Copilot CLI OTel monitoring | GitHub Docs |
| Monitor agent usage | VS Code Docs |
| Copilot SDK instrumentation | GitHub Docs |
| JetBrains OTel export | GitHub Changelog |