豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Commit de00d09

Browse files
committed
refactor: adopt Harald's type-safe metrics API (EditSource/EditOutcome, 2 survival histograms)
1 parent 8ea0262 commit de00d09

File tree

5 files changed

+10
-6
lines changed

5 files changed

+10
-6
lines changed

src/extension/conversation/vscode-node/userActions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { EditSurvivalResult } from '../../../platform/editSurvivalTracking/commo
1010
import { ILanguageDiagnosticsService } from '../../../platform/languages/common/languageDiagnosticsService';
1111
import { IMultiFileEditInternalTelemetryService } from '../../../platform/multiFileEdit/common/multiFileEditQualityTelemetry';
1212
import { INotebookService } from '../../../platform/notebook/common/notebookService';
13+
import type { EditOutcome } from '../../../platform/otel/common/genAiAttributes';
1314
import { emitEditFeedbackEvent, emitEditHunkActionEvent, emitEditSurvivalEvent, emitInlineDoneEvent, emitUserFeedbackEvent } from '../../../platform/otel/common/genAiEvents';
1415
import { GenAiMetrics } from '../../../platform/otel/common/genAiMetrics';
1516
import { IOTelService } from '../../../platform/otel/common/otelService';
@@ -567,7 +568,7 @@ function reportInlineEditSurvivalEvent(res: EditSurvivalResult, sharedProps: Tel
567568
GenAiMetrics.recordEditSurvivalNoRevert(otelService, 'inline_chat', res.noRevert, res.timeDelayMs);
568569
}
569570

570-
const outcomes = new Map([
571+
const outcomes = new Map<vscode.ChatEditingSessionActionOutcome, EditOutcome>([
571572
[vscode.ChatEditingSessionActionOutcome.Accepted, 'accepted'],
572573
[vscode.ChatEditingSessionActionOutcome.Rejected, 'rejected'],
573574
[vscode.ChatEditingSessionActionOutcome.Saved, 'saved']

src/extension/prompts/node/codeMapper/codeMapperService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,5 +347,6 @@ function reportEditSurvivalEvent(res: EditSurvivalResult, { requestId, speculati
347347
});
348348

349349
emitEditSurvivalEvent(otelService, 'code_mapper', res.fourGram, res.noRevert, res.timeDelayMs, res.didBranchChange, requestId ?? '');
350-
GenAiMetrics.recordEditSurvivalRate(otelService, 'code_mapper', res.fourGram, res.timeDelayMs);
350+
GenAiMetrics.recordEditSurvivalFourGram(otelService, 'code_mapper', res.fourGram, res.timeDelayMs);
351+
GenAiMetrics.recordEditSurvivalNoRevert(otelService, 'code_mapper', res.noRevert, res.timeDelayMs);
351352
}

src/extension/tools/node/abstractReplaceStringTool.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,8 @@ export abstract class AbstractReplaceStringTool<T extends { explanation: string
361361
});
362362

363363
emitEditSurvivalEvent(this._otelService, 'replace_string', res.fourGram, res.noRevert, res.timeDelayMs, res.didBranchChange, this._promptContext?.requestId ?? '');
364-
GenAiMetrics.recordEditSurvivalRate(this._otelService, 'replace_string', res.fourGram, res.timeDelayMs);
364+
GenAiMetrics.recordEditSurvivalFourGram(this._otelService, 'replace_string', res.fourGram, res.timeDelayMs);
365+
GenAiMetrics.recordEditSurvivalNoRevert(this._otelService, 'replace_string', res.noRevert, res.timeDelayMs);
365366
});
366367
});
367368

src/extension/tools/node/applyPatchTool.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,8 @@ export class ApplyPatchTool implements ICopilotTool<IApplyPatchToolParams> {
472472
});
473473

474474
emitEditSurvivalEvent(this._otelService, 'apply_patch', res.fourGram, res.noRevert, res.timeDelayMs, res.didBranchChange, this._promptContext?.requestId ?? '');
475-
GenAiMetrics.recordEditSurvivalRate(this._otelService, 'apply_patch', res.fourGram, res.timeDelayMs);
475+
GenAiMetrics.recordEditSurvivalFourGram(this._otelService, 'apply_patch', res.fourGram, res.timeDelayMs);
476+
GenAiMetrics.recordEditSurvivalNoRevert(this._otelService, 'apply_patch', res.noRevert, res.timeDelayMs);
476477
});
477478
}
478479
});

src/platform/otel/common/genAiAttributes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ export const CopilotChatAttr = {
129129
DEBUG_LOG_LABEL: 'copilot_chat.debug_log_label',
130130
/** Markdown content for standalone content events */
131131
MARKDOWN_CONTENT: 'copilot_chat.markdown_content',
132-
/** Edit source: inline_chat, chat_editing, chat_editing_hunk */
132+
/** Edit source: inline_chat, chat_editing, chat_editing_hunk, apply_patch, replace_string, code_mapper */
133133
EDIT_SOURCE: 'copilot_chat.edit.source',
134134
/** Edit outcome: accepted, rejected, saved, unknown */
135135
EDIT_OUTCOME: 'copilot_chat.edit.outcome',
@@ -141,7 +141,7 @@ export const CopilotChatAttr = {
141141
HAS_REMAINING_EDITS: 'copilot_chat.has_remaining_edits',
142142
} as const;
143143

144-
export type EditSource = 'inline_chat' | 'chat_editing' | 'chat_editing_hunk';
144+
export type EditSource = 'inline_chat' | 'chat_editing' | 'chat_editing_hunk' | 'apply_patch' | 'replace_string' | 'code_mapper';
145145
export type EditOutcome = 'accepted' | 'rejected' | 'saved' | 'unknown';
146146

147147
/**

0 commit comments

Comments
 (0)