Skip to content

Commit 6ba2ae2

Browse files
committed
Also report ARC for edits with multiple replacements
1 parent 24b090c commit 6ba2ae2

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/vs/workbench/contrib/editTelemetry/browser/editSourceTrackingImpl.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import { reverseOrder, compareBy, numberComparator, sumBy } from '../../../../base/common/arrays.js';
77
import { IntervalTimer, TimeoutTimer } from '../../../../base/common/async.js';
8+
import { onUnexpectedError } from '../../../../base/common/errors.js';
89
import { toDisposable, DisposableStore, Disposable } from '../../../../base/common/lifecycle.js';
910
import { mapObservableArrayCached, derived, IReader, IObservable, observableSignal, runOnChange, IObservableWithChange, observableValue, transaction, derivedObservableWithCache } from '../../../../base/common/observable.js';
1011
import { isDefined } from '../../../../base/common/types.js';
@@ -353,18 +354,21 @@ class ArcTelemetrySender extends Disposable {
353354

354355
this._register(runOnChange(docWithAnnotatedEdits.value, (_val, _prev, changes) => {
355356
const edit = AnnotatedStringEdit.compose(changes.map(c => c.edit));
356-
if (edit.replacements.length !== 1) {
357+
358+
if (!edit.replacements.some(r => r.data.editReason.metadata.source === 'inlineCompletionAccept')) {
359+
return;
360+
}
361+
if (!edit.replacements.every(r => r.data.editReason.metadata.source === 'inlineCompletionAccept')) {
362+
onUnexpectedError(new Error('ArcTelemetrySender: Not all edits are inline completion accept edits!'));
357363
return;
358364
}
359-
const singleEdit = edit.replacements[0];
360-
const data = singleEdit.data.editReason.metadata;
361-
if (data?.source !== 'inlineCompletionAccept') {
365+
if (edit.replacements[0].data.editReason.metadata.source !== 'inlineCompletionAccept') {
362366
return;
363367
}
368+
const data = edit.replacements[0].data.editReason.metadata;
364369

365370
const docWithJustReason = createDocWithJustReason(docWithAnnotatedEdits, this._store);
366-
const reporter = this._instantiationService.createInstance(ArcTelemetryReporter, docWithJustReason, scmRepoBridge, singleEdit.toEdit(), res => {
367-
371+
const reporter = this._instantiationService.createInstance(ArcTelemetryReporter, docWithJustReason, scmRepoBridge, edit, res => {
368372
res.telemetryService.publicLog2<{
369373
extensionId: string;
370374
extensionVersion: string;
@@ -437,6 +441,7 @@ export class ArcTelemetryReporter {
437441
this._initialBranchName = this._gitRepo?.headBranchNameObs.get();
438442

439443
// This aligns with github inline completions
444+
this._report(0); // for debugging
440445
this._reportAfter(30 * 1000);
441446
this._reportAfter(120 * 1000);
442447
this._reportAfter(300 * 1000);

0 commit comments

Comments
 (0)