提交 108327ba 编写于 作者: J Johannes Rieken

debt - more timer service debt

上级 2aa0d24c
......@@ -85,10 +85,7 @@ function openWorkbench(configuration: IWindowConfiguration): TPromise<void> {
const timerService = new TimerService((<any>window).MonacoEnvironment.timers as IInitData, workspaceService.getWorkbenchState() === WorkbenchState.EMPTY);
const storageService = createStorageService(workspaceService, environmentService);
timerService.beforeDOMContentLoaded = Date.now();
return domContentLoaded().then(() => {
timerService.afterDOMContentLoaded = Date.now();
// Open Shell
timerService.beforeWorkbenchOpen = Date.now();
......
......@@ -8,6 +8,7 @@
import 'vs/css!./media/shell';
import * as platform from 'vs/base/common/platform';
import * as perf from 'vs/base/common/performance';
import { Dimension, Builder, $ } from 'vs/base/browser/builder';
import dom = require('vs/base/browser/dom');
import aria = require('vs/base/browser/ui/aria/aria');
......@@ -352,9 +353,9 @@ export class WorkbenchShell {
this.extensionService = instantiationService.createInstance(ExtensionService);
serviceCollection.set(IExtensionService, this.extensionService);
this.timerService.beforeExtensionLoad = Date.now();
perf.mark('willLoadExtensions');
this.extensionService.whenInstalledExtensionsRegistered().done(() => {
this.timerService.afterExtensionLoad = Date.now();
perf.mark('didLoadExtensions');
});
this.themeService = instantiationService.createInstance(WorkbenchThemeService, document.body);
......
......@@ -95,14 +95,8 @@ export interface IInitData {
export interface ITimerService extends IInitData {
_serviceBrand: any;
beforeDOMContentLoaded: number;
afterDOMContentLoaded: number;
beforeWorkbenchOpen: number;
workbenchStarted: number;
beforeExtensionLoad: number;
afterExtensionLoad: number;
readonly startupMetrics: IStartupMetrics;
}
......@@ -20,15 +20,9 @@ export class TimerService implements ITimerService {
public readonly isInitialStartup: boolean;
public readonly hasAccessibilitySupport: boolean;
public beforeDOMContentLoaded: number;
public afterDOMContentLoaded: number;
public beforeWorkbenchOpen: number;
public workbenchStarted: number;
public beforeExtensionLoad: number;
public afterExtensionLoad: number;
private _startupMetrics: IStartupMetrics;
constructor(initData: IInitData, private isEmptyWorkbench: boolean) {
......@@ -85,8 +79,8 @@ export class TimerService implements ITimerService {
version: 1,
ellapsed: this.workbenchStarted - start,
timers: {
ellapsedExtensions: this.afterExtensionLoad - this.beforeExtensionLoad,
ellapsedExtensionsReady: this.afterExtensionLoad - start,
ellapsedExtensions: perf.getDuration('willLoadExtensions', 'didLoadExtensions'),
ellapsedExtensionsReady: perf.getEntry('mark', 'didLoadExtensions').startTime - start,
ellapsedRequire: perf.getDuration('willLoadWorkbenchMain', 'didLoadWorkbenchMain'),
ellapsedEditorRestore: perf.getDuration('willRestoreEditors', 'didRestoreEditors'),
ellapsedViewletRestore: perf.getDuration('willRestoreViewlet', 'didRestoreViewlet'),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册