mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 14:31:31 +01:00
add telemetry appender that writes to log (#53603)
* add log-telemetry-appender and wire it up in the shell * enable log-only-telemetry in scripts/code.[sh|bat] * Reduce noise, separate log file for telemetry * Print telemetry events from shared process to corresponding log channel * Telemetry events for cli go to the log file for cli * Merge cli telemetry with all data with cli log * Use LogAppender when running from source * Skip check on isBuilt as the same is done in the shared process * Telemetry events from main process go to corresponding log file * Telemetry events from issue reporter go to corresponding log file * Cleanup to reduce diff amount as I have OCD * More cleanup * Open telemetry log file via the Open Log File command * Use regex to strip out common data * Tests
This commit is contained in:
committed by
Ramya Rao
parent
ab4338f19d
commit
19f25e4801
@@ -23,7 +23,7 @@ import { getDelayedChannel } from 'vs/base/parts/ipc/common/ipc';
|
||||
import { connect as connectNet } from 'vs/base/parts/ipc/node/ipc.net';
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
import { IWindowConfiguration, IWindowsService } from 'vs/platform/windows/common/windows';
|
||||
import { NullTelemetryService } from 'vs/platform/telemetry/common/telemetryUtils';
|
||||
import { NullTelemetryService, combinedAppender, LogAppender } from 'vs/platform/telemetry/common/telemetryUtils';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { ITelemetryServiceConfig, TelemetryService } from 'vs/platform/telemetry/common/telemetryService';
|
||||
import { ITelemetryAppenderChannel, TelemetryAppenderClient } from 'vs/platform/telemetry/common/telemetryIpc';
|
||||
@@ -287,9 +287,9 @@ export class IssueReporter extends Disposable {
|
||||
.then(() => connectNet(this.environmentService.sharedIPCHandle, `window:${configuration.windowId}`));
|
||||
|
||||
const instantiationService = new InstantiationService(serviceCollection, true);
|
||||
if (this.environmentService.isBuilt && !this.environmentService.isExtensionDevelopment && !this.environmentService.args['disable-telemetry'] && !!product.enableTelemetry) {
|
||||
if (!this.environmentService.isExtensionDevelopment && !this.environmentService.args['disable-telemetry'] && !!product.enableTelemetry) {
|
||||
const channel = getDelayedChannel<ITelemetryAppenderChannel>(sharedProcess.then(c => c.getChannel('telemetryAppender')));
|
||||
const appender = new TelemetryAppenderClient(channel);
|
||||
const appender = combinedAppender(new TelemetryAppenderClient(channel), new LogAppender(logService));
|
||||
const commonProperties = resolveCommonProperties(product.commit, pkg.version, configuration.machineId, this.environmentService.installSourcePath);
|
||||
const piiPaths = [this.environmentService.appRoot, this.environmentService.extensionsPath];
|
||||
const config: ITelemetryServiceConfig = { appender, commonProperties, piiPaths };
|
||||
|
||||
Reference in New Issue
Block a user