otel
OpenTelemetry in VS Code
Start by identifying the execution surface. VS Code has separate OTel pipelines with different owners and configuration:
| Surface | Process and producer | Configuration | Authoritative VS Code document |
|---|---|---|---|
| Agent Host sessions (Copilot, Claude, Codex) | Provider-native telemetry routed by the Agent Host utility process | chat.agentHost.otel.* |
src/vs/platform/agentHost/OTEL.md |
| Local Copilot Chat | Copilot Chat extension host and IOTelService |
github.copilot.chat.otel.* |
extensions/copilot/docs/monitoring/agent_monitoring.md |
Do not combine these pipelines or assume that a setting for one configures another.
Current architecture
Agent Host is the current execution architecture for Copilot, Claude, and Codex agent sessions. It owns routing, optional trace interception and SQLite persistence, resource normalization, and cross-provider trace context. Each provider owns its native instrumentation.
The extension-host Copilot CLI source remains as a fallback when Agent Host is unavailable and to support legacy-session migration. It is normally hidden when Agent Host is available and is not the current Agent Host architecture. Do not use it as a model for new work.
Local Copilot Chat remains a separate user-visible extension-host surface. Its foreground chat, LLM, tool, hook, metric, and event instrumentation continues to use IOTelService under extensions/copilot/src/platform/otel/.