Skip to content

Commit 2e802eb

Browse files
committed
debt - move perfview editor to browser
1 parent ea59ae2 commit 2e802eb

6 files changed

Lines changed: 64 additions & 45 deletions

File tree

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { localize } from 'vs/nls';
7+
import { registerAction2, Action2 } from 'vs/platform/actions/common/actions';
8+
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
9+
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
10+
import { Registry } from 'vs/platform/registry/common/platform';
11+
import { Extensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
12+
import { Extensions as Input, IEditorInputFactory, IEditorInputFactoryRegistry } from 'vs/workbench/common/editor';
13+
import { PerfviewContrib, PerfviewInput } from 'vs/workbench/contrib/performance/browser/perfviewEditor';
14+
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
15+
16+
// -- startup performance view
17+
18+
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(
19+
PerfviewContrib,
20+
LifecyclePhase.Ready
21+
);
22+
23+
Registry.as<IEditorInputFactoryRegistry>(Input.EditorInputFactories).registerEditorInputFactory(
24+
PerfviewInput.Id,
25+
class implements IEditorInputFactory {
26+
canSerialize(): boolean {
27+
return true;
28+
}
29+
serialize(): string {
30+
return '';
31+
}
32+
deserialize(instantiationService: IInstantiationService): PerfviewInput {
33+
return instantiationService.createInstance(PerfviewInput);
34+
}
35+
}
36+
);
37+
38+
39+
registerAction2(class extends Action2 {
40+
41+
constructor() {
42+
super({
43+
id: 'perfview.show',
44+
title: localize('show.label', "Startup Performance"),
45+
category: localize({ key: 'show.cat', comment: ['A developer on Code itself or someone diagnosing issues in Code'] }, "Developer"),
46+
f1: true
47+
});
48+
}
49+
50+
run(accessor: ServicesAccessor) {
51+
const editorService = accessor.get(IEditorService);
52+
const instaService = accessor.get(IInstantiationService);
53+
return editorService.openEditor(instaService.createInstance(PerfviewInput));
54+
}
55+
});

src/vs/workbench/contrib/performance/electron-browser/perfviewEditor.ts renamed to src/vs/workbench/contrib/performance/browser/perfviewEditor.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,5 @@ class MarkdownBuilder {
421421
});
422422
this.value += '|\n';
423423
});
424-
425424
}
426425
}

src/vs/workbench/contrib/performance/electron-browser/performance.contribution.ts

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,12 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { localize } from 'vs/nls';
7-
import { MenuRegistry } from 'vs/platform/actions/common/actions';
8-
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
9-
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
106
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
117
import { Registry } from 'vs/platform/registry/common/platform';
128
import { Extensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
13-
import { Extensions as Input, IEditorInputFactory, IEditorInputFactoryRegistry } from 'vs/workbench/common/editor';
14-
import { PerfviewContrib, PerfviewInput } from 'vs/workbench/contrib/performance/electron-browser/perfviewEditor';
15-
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
169
import { StartupProfiler } from './startupProfiler';
1710
import { StartupTimings } from './startupTimings';
1811

19-
// -- startup performance view
20-
21-
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(
22-
PerfviewContrib,
23-
LifecyclePhase.Ready
24-
);
25-
26-
Registry.as<IEditorInputFactoryRegistry>(Input.EditorInputFactories).registerEditorInputFactory(
27-
PerfviewInput.Id,
28-
class implements IEditorInputFactory {
29-
canSerialize(): boolean {
30-
return true;
31-
}
32-
serialize(): string {
33-
return '';
34-
}
35-
deserialize(instantiationService: IInstantiationService): PerfviewInput {
36-
return instantiationService.createInstance(PerfviewInput);
37-
}
38-
}
39-
);
40-
41-
CommandsRegistry.registerCommand('perfview.show', accessor => {
42-
const editorService = accessor.get(IEditorService);
43-
const instaService = accessor.get(IInstantiationService);
44-
return editorService.openEditor(instaService.createInstance(PerfviewInput));
45-
});
46-
47-
MenuRegistry.addCommand({
48-
id: 'perfview.show',
49-
category: localize({ key: 'show.cat', comment: ['A developer on Code itself or someone diagnosing issues in Code'] }, "Developer"),
50-
title: localize('show.label', "Startup Performance")
51-
});
52-
53-
5412
// -- startup profiler
5513

5614
Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench).registerWorkbenchContribution(

src/vs/workbench/contrib/performance/electron-browser/startupProfiler.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/enviro
1212
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
1313
import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
1414
import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
15-
import { PerfviewInput } from 'vs/workbench/contrib/performance/electron-browser/perfviewEditor';
15+
import { PerfviewInput } from 'vs/workbench/contrib/performance/browser/perfviewEditor';
1616
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
1717
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
1818
import { URI } from 'vs/base/common/uri';

src/vs/workbench/services/timer/browser/timerService.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,5 +399,9 @@ export class TimerService extends AbstractTimerService {
399399
protected async _getWindowCount(): Promise<number> {
400400
return 1;
401401
}
402-
protected async _extendStartupInfo(_info: Writeable<IStartupMetrics>): Promise<void> { }
402+
protected async _extendStartupInfo(info: Writeable<IStartupMetrics>): Promise<void> {
403+
info.isVMLikelyhood = 0;
404+
info.platform = navigator.userAgent;
405+
info.release = navigator.appVersion;
406+
}
403407
}

src/vs/workbench/workbench.common.main.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ import 'vs/workbench/contrib/preferences/browser/preferences.contribution';
144144
import 'vs/workbench/contrib/preferences/browser/keybindingsEditorContribution';
145145
import 'vs/workbench/contrib/preferences/browser/preferencesSearch';
146146

147+
// Performance
148+
import 'vs/workbench/contrib/performance/browser/performance.contribution';
149+
147150
// Notebook
148151
import 'vs/workbench/contrib/notebook/browser/notebook.contribution';
149152

0 commit comments

Comments
 (0)