diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 37506e53cf..e0e70c7294 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -4,8 +4,6 @@ namespace ts { export const versionMajorMinor = "3.6"; /** The version of the TypeScript compiler release */ export const version = `${versionMajorMinor}.0-dev`; - - perfLogger.logInfoEvent(`Starting TypeScript v${versionMajorMinor} with command line: ${JSON.stringify(process.argv)}`); } namespace ts { diff --git a/src/compiler/perfLogger.ts b/src/compiler/perfLogger.ts index 4f6d277dac..974e231d15 100644 --- a/src/compiler/perfLogger.ts +++ b/src/compiler/perfLogger.ts @@ -1,69 +1,28 @@ /* @internal */ namespace ts { - export type PerfLogger = typeof import("@microsoft/typescript-etw"); // tslint:disable-line:no-implicit-dependencies - - export class NullLogger implements PerfLogger { - logEvent(_msg: string): void { - return; - } - logErrEvent(_msg: string): void { - return; - } - logPerfEvent(_msg: string): void { - return; - } - logInfoEvent(_msg: string): void { - return; - } - logStartCommand(_command: string, _msg: string): void { - return; - } - logStopCommand(_command: string, _msg: string): void { - return; - } - logStartUpdateProgram(_msg: string): void { - return; - } - logStopUpdateProgram(_msg: string): void { - return; - } - logStartUpdateGraph(): void { - return; - } - logStopUpdateGraph(): void { - return; - } - logStartResolveModule(_name: string): void { - return; - } - logStopResolveModule(_success: string): void { - return; - } - logStartParseSourceFile(_filename: string): void { - return; - } - logStopParseSourceFile(): void { - return; - } - logStartReadFile(_filename: string): void { - return; - } - logStopReadFile(): void { - return; - } - logStartBindFile(_filename: string): void { - return; - } - logStopBindFile(): void { - return; - } - logStartScheduledOperation(_operationId: string): void { - return; - } - logStopScheduledOperation(): void { - return; - } - } + type PerfLogger = typeof import("@microsoft/typescript-etw"); // tslint:disable-line:no-implicit-dependencies + const nullLogger: PerfLogger = { + logEvent: noop, + logErrEvent: noop, + logPerfEvent: noop, + logInfoEvent: noop, + logStartCommand: noop, + logStopCommand: noop, + logStartUpdateProgram: noop, + logStopUpdateProgram: noop, + logStartUpdateGraph: noop, + logStopUpdateGraph: noop, + logStartResolveModule: noop, + logStopResolveModule: noop, + logStartParseSourceFile: noop, + logStopParseSourceFile: noop, + logStartReadFile: noop, + logStopReadFile: noop, + logStartBindFile: noop, + logStopBindFile: noop, + logStartScheduledOperation: noop, + logStopScheduledOperation: noop, + }; // Load optional module to enable Event Tracing for Windows // See https://github.com/microsoft/typescript-etw for more information @@ -77,5 +36,8 @@ namespace ts { etwModule = undefined; } - export const perfLogger: PerfLogger = etwModule ? etwModule : new NullLogger(); -} \ No newline at end of file + /** Performance logger that will generate ETW events if possible */ + export const perfLogger: PerfLogger = etwModule ? etwModule : nullLogger; + + perfLogger.logInfoEvent(`Starting TypeScript v${versionMajorMinor} with command line: ${JSON.stringify(process.argv)}`); +} diff --git a/src/compiler/tsconfig.json b/src/compiler/tsconfig.json index e9a8f7fda5..c90c6f35b3 100644 --- a/src/compiler/tsconfig.json +++ b/src/compiler/tsconfig.json @@ -7,10 +7,10 @@ "references": [], "files": [ - "perfLogger.ts", "core.ts", "debug.ts", "performance.ts", + "perfLogger.ts", "semver.ts", "types.ts",