NodeOTelService): Created at extension activation. Stores tracer ref. Serves foreground agent and the CLI wrapper span.BasicTracerProvider): Created by SDK's OtelLifecycle.initializeOtelSdk(). Replaces A as global. Serves all SDK-native spans.this._tracer still works after override — OTel tracers are bound to their provider at creation time._spanProcessors.push()ReadableSpan → ICompletedSpanDatacopilot_chat.chat_session_id from traceId → sessionId mapIOTelService.injectCompletedSpan() → onDidCompleteSpantraceparent = 00-{traceId}-{spanId}-01otelLifecycle.updateParentTraceContext(sessionId, traceparent)_onDidCompleteSpan.fire()injectCompletedSpan() → _onDidCompleteSpan.fire()OTelChatDebugLogProvider (trajectory) and ChatDebugFileLoggerService (file)copilot-chat — Extension Provider A spans (foreground and CLI wrapper)github-copilot — SDK Provider B spans (CLI native), CLI terminalonDidCompleteSpan with copilot_chat.chat_session_id