Skip to content
This repository was archived by the owner on May 20, 2026. It is now read-only.

Commit baa80a0

Browse files
committed
feat: wire OTel counters for cloud session invoke, PR ready, and CLI PR creation
1 parent ca07b86 commit baa80a0

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

src/extension/chatSessions/copilotcli/node/copilotcliSession.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import type { ChatParticipantToolToken } from 'vscode';
1010
import { ConfigKey, IConfigurationService } from '../../../../platform/configuration/common/configurationService';
1111
import { ILogService } from '../../../../platform/log/common/logService';
1212
import { CopilotChatAttr, GenAiAttr, GenAiOperationName, IOTelService, ISpanHandle, SpanKind, SpanStatusCode, truncateForOTel } from '../../../../platform/otel/common/index';
13+
import { GenAiMetrics } from '../../../../platform/otel/common/genAiMetrics';
1314
import type { ParsedPromptFile } from '../../../../platform/promptFiles/common/promptsService';
1415
import { CapturingToken } from '../../../../platform/requestLogger/common/capturingToken';
1516
import { IRequestLogger, LoggedRequestKind } from '../../../../platform/requestLogger/node/requestLogger';
@@ -580,6 +581,7 @@ export class CopilotCLISession extends DisposableStore implements ICopilotCLISes
580581
if (pullRequestUrl) {
581582
this._createdPullRequestUrl = pullRequestUrl;
582583
this.logService.trace(`[CopilotCLISession] Captured pull request URL: ${pullRequestUrl}`);
584+
GenAiMetrics.incrementPullRequestCount(this._otelService);
583585
}
584586
}
585587
// Log tool call to request logger

src/extension/chatSessions/vscode-node/copilotCloudSessionsProvider.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import { derivePullRequestState, PullRequestSearchItem, SessionInfo } from '../.
1616
import { CCAEnabledResult, IGithubRepositoryService, IOctoKitService, JobInfo, RemoteAgentJobResponse } from '../../../platform/github/common/githubService';
1717
import { ILogService } from '../../../platform/log/common/logService';
1818
import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
19+
import { GenAiMetrics } from '../../../platform/otel/common/genAiMetrics';
20+
import { IOTelService } from '../../../platform/otel/common/otelService';
1921
import { ITelemetryService } from '../../../platform/telemetry/common/telemetry';
2022
import { DeferredPromise, retry, RunOnceScheduler } from '../../../util/vs/base/common/async';
2123
import { Event } from '../../../util/vs/base/common/event';
@@ -224,6 +226,7 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C
224226
@IChatDelegationSummaryService private readonly _chatDelegationSummaryService: IChatDelegationSummaryService,
225227
@IExperimentationService private readonly _experimentationService: IExperimentationService,
226228
@IDomainService private readonly _domainService: IDomainService,
229+
@IOTelService private readonly _otelService: IOTelService,
227230
) {
228231
super();
229232
this.registerCommands();
@@ -1876,6 +1879,7 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C
18761879
partnerAgent: partnerAgent?.name ?? 'unknown',
18771880
model: modelId ?? 'unknown'
18781881
});
1882+
GenAiMetrics.incrementCloudSessionCount(this._otelService, partnerAgent?.name ?? 'unknown');
18791883

18801884
// Follow up
18811885
if (context.chatSessionContext && !context.chatSessionContext.isUntitled && request.sessionResource.scheme === CopilotCloudSessionsProvider.TYPE) {
@@ -2381,6 +2385,7 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C
23812385
}
23822386
*/
23832387
this.telemetry.sendMSFTTelemetryEvent('copilotcloud.chat.remoteAgentJobPullRequestReady');
2388+
GenAiMetrics.incrementCloudPrReadyCount(this._otelService);
23842389
this.logService.trace(`Job ${jobId} now has pull request #${jobInfo.pull_request.number}`);
23852390
this.refresh();
23862391
return jobInfo;

0 commit comments

Comments
 (0)