Revert "Merge from vscode 81d7885dc2e9dc617e1522697a2966bc4025a45d (#5949)" (#5983)

This reverts commit d15a3fcc98.
This commit is contained in:
Karl Burtram
2019-06-11 12:35:58 -07:00
committed by GitHub
parent 95a50b7892
commit 5a7562a37b
926 changed files with 11394 additions and 19540 deletions

View File

@@ -20,6 +20,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
import { writeTransientState } from 'vs/workbench/contrib/codeEditor/browser/toggleWordWrap';
import { mergeSort } from 'vs/base/common/arrays';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import product from 'vs/platform/product/node/product';
import pkg from 'vs/platform/product/node/package';
@@ -72,6 +73,7 @@ class PerfModelContentProvider implements ITextModelContentProvider {
@ICodeEditorService private readonly _editorService: ICodeEditorService,
@ILifecycleService private readonly _lifecycleService: ILifecycleService,
@ITimerService private readonly _timerService: ITimerService,
@IEnvironmentService private readonly _envService: IEnvironmentService,
@IExtensionService private readonly _extensionService: IExtensionService,
) { }
@@ -105,7 +107,7 @@ class PerfModelContentProvider implements ITextModelContentProvider {
]).then(([metrics]) => {
if (this._model && !this._model.isDisposed()) {
let stats = LoaderStats.get();
let stats = this._envService.args['prof-modules'] ? LoaderStats.get() : undefined;
let md = new MarkdownBuilder();
this._addSummary(md, metrics);
md.blank();
@@ -116,8 +118,6 @@ class PerfModelContentProvider implements ITextModelContentProvider {
this._addRawPerfMarks(md);
md.blank();
this._addLoaderStats(md, stats);
md.blank();
this._addCachedDataStats(md);
this._model.setValue(md.value);
}
@@ -136,7 +136,7 @@ class PerfModelContentProvider implements ITextModelContentProvider {
md.li(`Memory(System): ${(metrics.totalmem / (1024 * 1024 * 1024)).toFixed(2)} GB(${(metrics.freemem / (1024 * 1024 * 1024)).toFixed(2)}GB free)`);
}
if (metrics.meminfo) {
md.li(`Memory(Process): ${(metrics.meminfo.workingSetSize / 1024).toFixed(2)} MB working set(${(metrics.meminfo.privateBytes / 1024).toFixed(2)}MB private, ${(metrics.meminfo.sharedBytes / 1024).toFixed(2)}MB shared)`);
md.li(`Memory(Process): ${(metrics.meminfo.workingSetSize / 1024).toFixed(2)} MB working set(${(metrics.meminfo.peakWorkingSetSize / 1024).toFixed(2)}MB peak, ${(metrics.meminfo.privateBytes / 1024).toFixed(2)}MB private, ${(metrics.meminfo.sharedBytes / 1024).toFixed(2)}MB shared)`);
}
md.li(`VM(likelyhood): ${metrics.isVMLikelyhood}%`);
md.li(`Initial Startup: ${metrics.initialStartup}`);
@@ -210,54 +210,21 @@ class PerfModelContentProvider implements ITextModelContentProvider {
md.value += '```\n';
}
private _addLoaderStats(md: MarkdownBuilder, stats: LoaderStats): void {
md.heading(2, 'Loader Stats');
md.heading(3, 'Load AMD-module');
md.table(['Module', 'Duration'], stats.amdLoad);
md.blank();
md.heading(3, 'Load commonjs-module');
md.table(['Module', 'Duration'], stats.nodeRequire);
md.blank();
md.heading(3, 'Invoke AMD-module factory');
md.table(['Module', 'Duration'], stats.amdInvoke);
md.blank();
md.heading(3, 'Invoke commonjs-module');
md.table(['Module', 'Duration'], stats.nodeEval);
}
private _addCachedDataStats(md: MarkdownBuilder): void {
const map = new Map<LoaderEventType, string[]>();
map.set(LoaderEventType.CachedDataCreated, []);
map.set(LoaderEventType.CachedDataFound, []);
map.set(LoaderEventType.CachedDataMissed, []);
map.set(LoaderEventType.CachedDataRejected, []);
for (const stat of require.getStats()) {
if (map.has(stat.type)) {
map.get(stat.type)!.push(stat.detail);
}
private _addLoaderStats(md: MarkdownBuilder, stats?: LoaderStats): void {
if (stats) {
md.heading(2, 'Loader Stats');
md.heading(3, 'Load AMD-module');
md.table(['Module', 'Duration'], stats.amdLoad);
md.blank();
md.heading(3, 'Load commonjs-module');
md.table(['Module', 'Duration'], stats.nodeRequire);
md.blank();
md.heading(3, 'Invoke AMD-module factory');
md.table(['Module', 'Duration'], stats.amdInvoke);
md.blank();
md.heading(3, 'Invoke commonjs-module');
md.table(['Module', 'Duration'], stats.nodeEval);
}
const printLists = (arr?: string[]) => {
if (arr) {
arr.sort();
for (const e of arr) {
md.li(`${e}`);
}
md.blank();
}
};
md.heading(2, 'Node Cached Data Stats');
md.blank();
md.heading(3, 'cached data used');
printLists(map.get(LoaderEventType.CachedDataFound));
md.heading(3, 'cached data missed');
printLists(map.get(LoaderEventType.CachedDataMissed));
md.heading(3, 'cached data rejected');
printLists(map.get(LoaderEventType.CachedDataRejected));
md.heading(3, 'cached data created (lazy, might need refreshes)');
printLists(map.get(LoaderEventType.CachedDataCreated));
}
}