diff --git a/lib/services/analytics/analytics-service.ts b/lib/services/analytics/analytics-service.ts index 3ea2036cdb..d054658c28 100644 --- a/lib/services/analytics/analytics-service.ts +++ b/lib/services/analytics/analytics-service.ts @@ -147,12 +147,10 @@ export class AnalyticsService implements IAnalyticsService, IDisposable { @cache() private getAnalyticsBroker(): Promise { return new Promise((resolve, reject) => { + const brokerProcessArgs = this.getBrokerProcessArgs(); + const broker = this.$childProcess.spawn(process.execPath, - [ - path.join(__dirname, "analytics-broker-process.js"), - this.$staticConfig.PATH_TO_BOOTSTRAP, - this.$options.analyticsLogFile // TODO: Check if passing path with space or quotes will work - ], + brokerProcessArgs, { stdio: ["ignore", "ignore", "ignore", "ipc"], detached: true @@ -200,6 +198,19 @@ export class AnalyticsService implements IAnalyticsService, IDisposable { }); } + private getBrokerProcessArgs(): string[] { + const brokerProcessArgs = [ + path.join(__dirname, "analytics-broker-process.js"), + this.$staticConfig.PATH_TO_BOOTSTRAP, + ]; + + if (this.$options.analyticsLogFile) { + brokerProcessArgs.push(this.$options.analyticsLogFile); + } + + return brokerProcessArgs; + } + private async sendInfoForTracking(trackingInfo: ITrackingInformation, settingName: string): Promise { await this.initAnalyticsStatuses();