mirror of
https://github.com/microsoft/vscode.git
synced 2026-06-02 21:55:33 +01:00
Move appenders to be better controlled by services (#133465)
* Cleanup telemetry appenders to be owned by service * Add telemetry level to services * simplify * Fix compile * Rename supportsTelemetryLogging -> supportsTelemetry Co-authored-by: SteVen Batten <sbatten@microsoft.com>
This commit is contained in:
@@ -43,9 +43,9 @@ import { IProductService } from 'vs/platform/product/common/productService';
|
||||
import { IRequestService } from 'vs/platform/request/common/request';
|
||||
import { RequestService } from 'vs/platform/request/node/requestService';
|
||||
import { resolveCommonProperties } from 'vs/platform/telemetry/common/commonProperties';
|
||||
import { ITelemetryService, machineIdKey, TelemetryLevel } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { ITelemetryService, machineIdKey } from 'vs/platform/telemetry/common/telemetry';
|
||||
import { ITelemetryServiceConfig, TelemetryService } from 'vs/platform/telemetry/common/telemetryService';
|
||||
import { combinedAppender, getTelemetryLevel, NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils';
|
||||
import { supportsTelemetry, NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils';
|
||||
import { AppInsightsAppender } from 'vs/platform/telemetry/node/appInsightsAppender';
|
||||
import { buildTelemetryMessage } from 'vs/platform/telemetry/node/telemetry';
|
||||
|
||||
@@ -89,7 +89,10 @@ class CliMain extends Disposable {
|
||||
await this.doRun(environmentService, extensionManagementCLIService, fileService);
|
||||
|
||||
// Flush the remaining data in AI adapter (with 1s timeout)
|
||||
return raceTimeout(combinedAppender(...appenders).flush(), 1000);
|
||||
await Promise.all(appenders.map(a => {
|
||||
raceTimeout(a.flush(), 1000);
|
||||
}));
|
||||
return;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -148,7 +151,7 @@ class CliMain extends Disposable {
|
||||
|
||||
// Telemetry
|
||||
const appenders: AppInsightsAppender[] = [];
|
||||
if (getTelemetryLevel(productService, environmentService) >= TelemetryLevel.USER) {
|
||||
if (supportsTelemetry(productService, environmentService)) {
|
||||
if (productService.aiConfig && productService.aiConfig.asimovKey) {
|
||||
appenders.push(new AppInsightsAppender('monacoworkbench', null, productService.aiConfig.asimovKey));
|
||||
}
|
||||
@@ -156,7 +159,7 @@ class CliMain extends Disposable {
|
||||
const { appRoot, extensionsPath, installSourcePath } = environmentService;
|
||||
|
||||
const config: ITelemetryServiceConfig = {
|
||||
appender: combinedAppender(...appenders),
|
||||
appenders,
|
||||
sendErrorTelemetry: false,
|
||||
commonProperties: (async () => {
|
||||
let machineId: string | undefined = undefined;
|
||||
|
||||
Reference in New Issue
Block a user