Skip to content

Commit 99ff35b

Browse files
committed
report error telemetry at one place
1 parent 6c85f9d commit 99ff35b

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

src/vs/platform/userDataSync/common/userDataSyncService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,8 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
374374
this.telemetryService.publicLog2<{ source: string }, SyncClassification>(`sync/error/${UserDataSyncErrorCode.TooLarge}`, { source });
375375
break;
376376
case UserDataSyncErrorCode.TooManyRequests:
377-
this.telemetryService.publicLog2(`sync/error/${UserDataSyncErrorCode.TooManyRequests}`);
377+
case UserDataSyncErrorCode.LocalTooManyRequests:
378+
this.telemetryService.publicLog2(`sync/error/${e.code}`);
378379
break;
379380
}
380381
throw e;

src/vs/platform/userDataSync/common/userDataSyncStoreService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export class UserDataSyncStoreService extends Disposable implements IUserDataSyn
6161
});
6262

6363
/* A requests session that limits requests per sessions */
64-
this.session = new RequestsSession(REQUEST_SESSION_LIMIT, REQUEST_SESSION_INTERVAL, this.requestService, telemetryService);
64+
this.session = new RequestsSession(REQUEST_SESSION_LIMIT, REQUEST_SESSION_INTERVAL, this.requestService);
6565
}
6666

6767
async getAllRefs(resource: ServerResource): Promise<IResourceRefHandle[]> {
@@ -306,7 +306,6 @@ export class RequestsSession {
306306
private readonly limit: number,
307307
private readonly interval: number, /* in ms */
308308
private readonly requestService: IRequestService,
309-
private readonly telemetryService: ITelemetryService
310309
) { }
311310

312311
request(options: IRequestOptions, token: CancellationToken): Promise<IRequestContext> {
@@ -315,7 +314,7 @@ export class RequestsSession {
315314
}
316315

317316
if (this.count >= this.limit) {
318-
this.telemetryService.publicLog2(`sync/error/${UserDataSyncErrorCode.LocalTooManyRequests}`);
317+
319318
throw new UserDataSyncStoreError(`Too many requests. Allowed only ${this.limit} requests in ${this.interval / (1000 * 60)} minutes.`, UserDataSyncErrorCode.LocalTooManyRequests);
320319
}
321320

src/vs/platform/userDataSync/test/common/userDataSyncStoreService.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import { DisposableStore } from 'vs/base/common/lifecycle';
1010
import { IProductService } from 'vs/platform/product/common/productService';
1111
import { isWeb } from 'vs/base/common/platform';
1212
import { RequestsSession } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
13-
import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils';
1413
import { CancellationToken } from 'vs/base/common/cancellation';
1514
import { IRequestService } from 'vs/platform/request/common/request';
1615
import { newWriteableBufferStream } from 'vs/base/common/buffer';
@@ -333,7 +332,7 @@ suite('UserDataSyncRequestsSession', () => {
333332
};
334333

335334
test('too many requests are thrown when limit exceeded', async () => {
336-
const testObject = new RequestsSession(1, 500, requestService, NullTelemetryService);
335+
const testObject = new RequestsSession(1, 500, requestService);
337336
await testObject.request({}, CancellationToken.None);
338337

339338
try {
@@ -347,14 +346,14 @@ suite('UserDataSyncRequestsSession', () => {
347346
});
348347

349348
test('requests are handled after session is expired', async () => {
350-
const testObject = new RequestsSession(1, 500, requestService, NullTelemetryService);
349+
const testObject = new RequestsSession(1, 500, requestService);
351350
await testObject.request({}, CancellationToken.None);
352351
await timeout(600);
353352
await testObject.request({}, CancellationToken.None);
354353
});
355354

356355
test('too many requests are thrown after session is expired', async () => {
357-
const testObject = new RequestsSession(1, 500, requestService, NullTelemetryService);
356+
const testObject = new RequestsSession(1, 500, requestService);
358357
await testObject.request({}, CancellationToken.None);
359358
await timeout(600);
360359
await testObject.request({}, CancellationToken.None);

0 commit comments

Comments
 (0)