mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 03:09:39 -06:00
Remove typescript-etw (#58832)
This commit is contained in:
parent
e370c867c0
commit
e30b5fbafe
13
package-lock.json
generated
13
package-lock.json
generated
@ -18,7 +18,6 @@
|
||||
"@esfx/canceltoken": "^1.0.0",
|
||||
"@octokit/rest": "^20.1.1",
|
||||
"@types/chai": "^4.3.16",
|
||||
"@types/microsoft__typescript-etw": "^0.1.3",
|
||||
"@types/minimist": "^1.2.5",
|
||||
"@types/mocha": "^10.0.6",
|
||||
"@types/ms": "^0.7.34",
|
||||
@ -998,12 +997,6 @@
|
||||
"integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/microsoft__typescript-etw": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/microsoft__typescript-etw/-/microsoft__typescript-etw-0.1.3.tgz",
|
||||
"integrity": "sha512-qbO0IoTPJERhGWOvdw9iQbRjM7OGc6+fHVziSKcw566BDSQpEdkGxXcE8BKSHJOP6mkTRobf4QxqRE/aKhrCxg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
|
||||
@ -5056,12 +5049,6 @@
|
||||
"integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/microsoft__typescript-etw": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/microsoft__typescript-etw/-/microsoft__typescript-etw-0.1.3.tgz",
|
||||
"integrity": "sha512-qbO0IoTPJERhGWOvdw9iQbRjM7OGc6+fHVziSKcw566BDSQpEdkGxXcE8BKSHJOP6mkTRobf4QxqRE/aKhrCxg==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/minimist": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
|
||||
|
||||
@ -44,7 +44,6 @@
|
||||
"@esfx/canceltoken": "^1.0.0",
|
||||
"@octokit/rest": "^20.1.1",
|
||||
"@types/chai": "^4.3.16",
|
||||
"@types/microsoft__typescript-etw": "^0.1.3",
|
||||
"@types/minimist": "^1.2.5",
|
||||
"@types/mocha": "^10.0.6",
|
||||
"@types/ms": "^0.7.34",
|
||||
@ -102,7 +101,6 @@
|
||||
"path": false,
|
||||
"crypto": false,
|
||||
"buffer": false,
|
||||
"@microsoft/typescript-etw": false,
|
||||
"source-map-support": false,
|
||||
"inspector": false,
|
||||
"perf_hooks": false
|
||||
|
||||
@ -5,7 +5,6 @@ export * from "../core.js";
|
||||
export * from "../debug.js";
|
||||
export * from "../semver.js";
|
||||
export * from "../performanceCore.js";
|
||||
export * from "../perfLogger.js";
|
||||
export * from "../tracing.js";
|
||||
export * from "../types.js";
|
||||
export * from "../sys.js";
|
||||
|
||||
@ -269,7 +269,6 @@ import {
|
||||
ParenthesizedExpression,
|
||||
Pattern,
|
||||
PatternAmbientModule,
|
||||
perfLogger,
|
||||
PostfixUnaryExpression,
|
||||
PrefixUnaryExpression,
|
||||
PrivateIdentifier,
|
||||
@ -513,9 +512,7 @@ const binder = /* @__PURE__ */ createBinder();
|
||||
/** @internal */
|
||||
export function bindSourceFile(file: SourceFile, options: CompilerOptions) {
|
||||
performance.mark("beforeBind");
|
||||
perfLogger?.logStartBindFile("" + file.fileName);
|
||||
binder(file, options);
|
||||
perfLogger?.logStopBindFile();
|
||||
performance.mark("afterBind");
|
||||
performance.measure("Bind", "beforeBind", "afterBind");
|
||||
}
|
||||
|
||||
@ -83,7 +83,6 @@ import {
|
||||
pathIsRelative,
|
||||
Pattern,
|
||||
patternText,
|
||||
perfLogger,
|
||||
readJson,
|
||||
removeExtension,
|
||||
removeFileExtension,
|
||||
@ -1431,7 +1430,6 @@ export function resolveModuleName(moduleName: string, containingFile: string, co
|
||||
}
|
||||
}
|
||||
|
||||
perfLogger?.logStartResolveModule(moduleName /* , containingFile, ModuleResolutionKind[moduleResolution]*/);
|
||||
switch (moduleResolution) {
|
||||
case ModuleResolutionKind.Node16:
|
||||
result = node16ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
|
||||
@ -1451,8 +1449,6 @@ export function resolveModuleName(moduleName: string, containingFile: string, co
|
||||
default:
|
||||
return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
|
||||
}
|
||||
if (result && result.resolvedModule) perfLogger?.logInfoEvent(`Module "${moduleName}" resolved to "${result.resolvedModule.resolvedFileName}"`);
|
||||
perfLogger?.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null");
|
||||
|
||||
if (cache && !cache.isReadonly) {
|
||||
cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(moduleName, resolutionMode, result);
|
||||
|
||||
@ -293,7 +293,6 @@ import {
|
||||
ParenthesizedExpression,
|
||||
ParenthesizedTypeNode,
|
||||
PartiallyEmittedExpression,
|
||||
perfLogger,
|
||||
PlusToken,
|
||||
PostfixUnaryExpression,
|
||||
PostfixUnaryOperator,
|
||||
@ -1343,7 +1342,6 @@ export function createSourceFile(fileName: string, sourceText: string, languageV
|
||||
performance.mark("beforeParse");
|
||||
let result: SourceFile;
|
||||
|
||||
perfLogger?.logStartParseSourceFile(fileName);
|
||||
const {
|
||||
languageVersion,
|
||||
setExternalModuleIndicator: overrideSetExternalModuleIndicator,
|
||||
@ -1360,7 +1358,6 @@ export function createSourceFile(fileName: string, sourceText: string, languageV
|
||||
};
|
||||
result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, scriptKind, setIndicator, jsDocParsingMode);
|
||||
}
|
||||
perfLogger?.logStopParseSourceFile();
|
||||
|
||||
performance.mark("afterParse");
|
||||
performance.measure("Parse", "beforeParse", "afterParse");
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
/** @internal */
|
||||
export interface PerfLogger {
|
||||
logEvent(msg: string): void;
|
||||
logErrEvent(msg: string): void;
|
||||
logPerfEvent(msg: string): void;
|
||||
logInfoEvent(msg: string): void;
|
||||
logStartCommand(command: string, msg: string): void;
|
||||
logStopCommand(command: string, msg: string): void;
|
||||
logStartUpdateProgram(msg: string): void;
|
||||
logStopUpdateProgram(msg: string): void;
|
||||
logStartUpdateGraph(): void;
|
||||
logStopUpdateGraph(): void;
|
||||
logStartResolveModule(name: string): void;
|
||||
logStopResolveModule(success: string): void;
|
||||
logStartParseSourceFile(filename: string): void;
|
||||
logStopParseSourceFile(): void;
|
||||
logStartReadFile(filename: string): void;
|
||||
logStopReadFile(): void;
|
||||
logStartBindFile(filename: string): void;
|
||||
logStopBindFile(): void;
|
||||
logStartScheduledOperation(operationId: string): void;
|
||||
logStopScheduledOperation(): void;
|
||||
}
|
||||
|
||||
// Load optional module to enable Event Tracing for Windows
|
||||
// See https://github.com/microsoft/typescript-etw for more information
|
||||
let etwModule: typeof import("@microsoft/typescript-etw") | undefined;
|
||||
try {
|
||||
const etwModulePath = process.env.TS_ETW_MODULE_PATH ?? "./node_modules/@microsoft/typescript-etw";
|
||||
|
||||
// require() will throw an exception if the module is not found
|
||||
// It may also return undefined if not installed properly
|
||||
etwModule = require(etwModulePath);
|
||||
}
|
||||
catch (e) {
|
||||
etwModule = undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Performance logger that will generate ETW events if possible - check for `logEvent` member, as `etwModule` will be `{}` when browserified
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
export const perfLogger: PerfLogger | undefined = etwModule?.logEvent ? etwModule : undefined;
|
||||
@ -35,7 +35,6 @@ import {
|
||||
normalizeSlashes,
|
||||
orderedRemoveItem,
|
||||
Path,
|
||||
perfLogger,
|
||||
PollingWatchKind,
|
||||
resolveJSModule,
|
||||
some,
|
||||
@ -1786,7 +1785,7 @@ export let sys: System = (() => {
|
||||
);
|
||||
}
|
||||
|
||||
function readFileWorker(fileName: string, _encoding?: string): string | undefined {
|
||||
function readFile(fileName: string, _encoding?: string): string | undefined {
|
||||
let buffer: Buffer;
|
||||
try {
|
||||
buffer = _fs.readFileSync(fileName);
|
||||
@ -1818,15 +1817,7 @@ export let sys: System = (() => {
|
||||
return buffer.toString("utf8");
|
||||
}
|
||||
|
||||
function readFile(fileName: string, _encoding?: string): string | undefined {
|
||||
perfLogger?.logStartReadFile(fileName);
|
||||
const file = readFileWorker(fileName, _encoding);
|
||||
perfLogger?.logStopReadFile();
|
||||
return file;
|
||||
}
|
||||
|
||||
function writeFile(fileName: string, data: string, writeByteOrderMark?: boolean): void {
|
||||
perfLogger?.logEvent("WriteFile: " + fileName);
|
||||
// If a BOM is required, emit one
|
||||
if (writeByteOrderMark) {
|
||||
data = byteOrderMarkIndicator + data;
|
||||
@ -1846,7 +1837,6 @@ export let sys: System = (() => {
|
||||
}
|
||||
|
||||
function getAccessibleFileSystemEntries(path: string): FileSystemEntries {
|
||||
perfLogger?.logEvent("ReadDir: " + (path || "."));
|
||||
try {
|
||||
const entries = _fs.readdirSync(path || ".", { withFileTypes: true });
|
||||
const files: string[] = [];
|
||||
|
||||
@ -62,7 +62,6 @@ import {
|
||||
parseConfigHostFromCompilerHostLike,
|
||||
ParsedCommandLine,
|
||||
Path,
|
||||
perfLogger,
|
||||
PollingInterval,
|
||||
ProgramUpdateLevel,
|
||||
ProjectReference,
|
||||
@ -891,19 +890,15 @@ export function createWatchProgram<T extends BuilderProgram>(host: WatchCompiler
|
||||
function updateProgram() {
|
||||
switch (updateLevel) {
|
||||
case ProgramUpdateLevel.RootNamesAndUpdate:
|
||||
perfLogger?.logStartUpdateProgram("PartialConfigReload");
|
||||
reloadFileNamesFromConfigFile();
|
||||
break;
|
||||
case ProgramUpdateLevel.Full:
|
||||
perfLogger?.logStartUpdateProgram("FullConfigReload");
|
||||
reloadConfigFile();
|
||||
break;
|
||||
default:
|
||||
perfLogger?.logStartUpdateProgram("SynchronizeProgram");
|
||||
synchronizeProgram();
|
||||
break;
|
||||
}
|
||||
perfLogger?.logStopUpdateProgram("Done");
|
||||
return getCurrentBuilderProgram();
|
||||
}
|
||||
|
||||
|
||||
@ -93,7 +93,6 @@ import {
|
||||
ParsedCommandLine,
|
||||
parsePackageName,
|
||||
Path,
|
||||
perfLogger,
|
||||
PerformanceEvent,
|
||||
PluginImport,
|
||||
PollingInterval,
|
||||
@ -1360,7 +1359,6 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo
|
||||
*/
|
||||
updateGraph(): boolean {
|
||||
tracing?.push(tracing.Phase.Session, "updateGraph", { name: this.projectName, kind: ProjectKind[this.projectKind] });
|
||||
perfLogger?.logStartUpdateGraph();
|
||||
this.resolutionCache.startRecordingFilesWithChangedResolutions();
|
||||
|
||||
const hasNewProgram = this.updateGraphWorker();
|
||||
@ -1405,7 +1403,6 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo
|
||||
// Preload auto import provider so it's not created during completions request
|
||||
this.getPackageJsonAutoImportProvider();
|
||||
}
|
||||
perfLogger?.logStopUpdateGraph();
|
||||
tracing?.pop();
|
||||
return !hasNewProgram;
|
||||
}
|
||||
|
||||
@ -102,7 +102,6 @@ import {
|
||||
OutliningSpan,
|
||||
PasteEdits,
|
||||
Path,
|
||||
perfLogger,
|
||||
PerformanceEvent,
|
||||
PossibleProgramFileInfo,
|
||||
Program,
|
||||
@ -1206,7 +1205,6 @@ export class Session<TMessage = string> implements EventSender {
|
||||
|
||||
protected writeMessage(msg: protocol.Message) {
|
||||
const msgText = formatMessage(msg, this.logger, this.byteLength, this.host.newLine);
|
||||
perfLogger?.logEvent(`Response message size: ${msgText.length}`);
|
||||
this.host.write(msgText);
|
||||
}
|
||||
|
||||
@ -3698,7 +3696,6 @@ export class Session<TMessage = string> implements EventSender {
|
||||
relevantFile = request.arguments && (request as protocol.FileRequest).arguments.file ? (request as protocol.FileRequest).arguments : undefined;
|
||||
|
||||
tracing?.instant(tracing.Phase.Session, "request", { seq: request.seq, command: request.command });
|
||||
perfLogger?.logStartCommand("" + request.command, this.toStringMessage(message).substring(0, 100));
|
||||
|
||||
tracing?.push(tracing.Phase.Session, "executeCommand", { seq: request.seq, command: request.command }, /*separateBeginAndEnd*/ true);
|
||||
const { response, responseRequired } = this.executeCommand(request);
|
||||
@ -3715,7 +3712,6 @@ export class Session<TMessage = string> implements EventSender {
|
||||
}
|
||||
|
||||
// Note: Log before writing the response, else the editor can complete its activity before the server does
|
||||
perfLogger?.logStopCommand("" + request.command, "Success");
|
||||
tracing?.instant(tracing.Phase.Session, "response", { seq: request.seq, command: request.command, success: !!response });
|
||||
if (response) {
|
||||
this.doOutput(response, request.command, request.seq, /*success*/ true);
|
||||
@ -3730,14 +3726,12 @@ export class Session<TMessage = string> implements EventSender {
|
||||
|
||||
if (err instanceof OperationCanceledException) {
|
||||
// Handle cancellation exceptions
|
||||
perfLogger?.logStopCommand("" + (request && request.command), "Canceled: " + err);
|
||||
tracing?.instant(tracing.Phase.Session, "commandCanceled", { seq: request?.seq, command: request?.command });
|
||||
this.doOutput({ canceled: true }, request!.command, request!.seq, /*success*/ true);
|
||||
return;
|
||||
}
|
||||
|
||||
this.logErrorWorker(err, this.toStringMessage(message), relevantFile);
|
||||
perfLogger?.logStopCommand("" + (request && request.command), "Error: " + err);
|
||||
tracing?.instant(tracing.Phase.Session, "commandError", { seq: request?.seq, command: request?.command, message: (err as Error).message });
|
||||
|
||||
this.doOutput(
|
||||
|
||||
@ -3,7 +3,6 @@ import {
|
||||
Comparer,
|
||||
getBaseFileName,
|
||||
identity,
|
||||
perfLogger,
|
||||
SortedArray,
|
||||
} from "./_namespaces/ts.js";
|
||||
import {
|
||||
@ -48,13 +47,11 @@ export class ThrottledOperations {
|
||||
}
|
||||
|
||||
private static run(operationId: string, self: ThrottledOperations, cb: () => void) {
|
||||
perfLogger?.logStartScheduledOperation(operationId);
|
||||
self.pendingTimeouts.delete(operationId);
|
||||
if (self.logger) {
|
||||
self.logger.info(`Running: ${operationId}`);
|
||||
}
|
||||
cb();
|
||||
perfLogger?.logStopScheduledOperation();
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,7 +72,6 @@ export class GcTimer {
|
||||
private static run(self: GcTimer) {
|
||||
self.timerId = undefined;
|
||||
|
||||
perfLogger?.logStartScheduledOperation("GC collect");
|
||||
const log = self.logger.hasLevel(LogLevel.requestTime);
|
||||
const before = log && self.host.getMemoryUsage!(); // TODO: GH#18217
|
||||
|
||||
@ -84,7 +80,6 @@ export class GcTimer {
|
||||
const after = self.host.getMemoryUsage!(); // TODO: GH#18217
|
||||
self.logger.perftrc(`GC::before ${before}, after ${after}`);
|
||||
}
|
||||
perfLogger?.logStopScheduledOperation();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,6 @@ import {
|
||||
noopFileWatcher,
|
||||
normalizePath,
|
||||
normalizeSlashes,
|
||||
perfLogger,
|
||||
startTracing,
|
||||
stripQuotes,
|
||||
sys,
|
||||
@ -213,18 +212,6 @@ export function initializeNodeSystem(): StartInput {
|
||||
return this.loggingEnabled() && this.level >= level;
|
||||
}
|
||||
msg(s: string, type: ts.server.Msg = ts.server.Msg.Err) {
|
||||
switch (type) {
|
||||
case ts.server.Msg.Info:
|
||||
perfLogger?.logInfoEvent(s);
|
||||
break;
|
||||
case ts.server.Msg.Perf:
|
||||
perfLogger?.logPerfEvent(s);
|
||||
break;
|
||||
default: // Msg.Err
|
||||
perfLogger?.logErrEvent(s);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!this.canWrite()) return;
|
||||
|
||||
s = `[${ts.server.nowString()}] ${s}\n`;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user