Skip to content

Commit

Permalink
debt - add action to report negative startup times
Browse files Browse the repository at this point in the history
  • Loading branch information
bpasero committed Apr 18, 2017
1 parent 4807f83 commit 89cd0b7
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions src/vs/workbench/electron-browser/shell.ts
Original file line number Diff line number Diff line change
@@ -63,7 +63,7 @@ import { IContextViewService } from 'vs/platform/contextview/browser/contextView
import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
import { IMarkerService } from 'vs/platform/markers/common/markers';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import { IMessageService, IChoiceService, Severity } from 'vs/platform/message/common/message';
import { IMessageService, IChoiceService, Severity, CloseAction } from 'vs/platform/message/common/message';
import { ChoiceChannel } from 'vs/platform/message/common/messageIpc';
import { ISearchService } from 'vs/platform/search/common/search';
import { IThreadService } from 'vs/workbench/services/thread/common/threadService';
@@ -187,6 +187,12 @@ export class WorkbenchShell {

// start cached data manager
instantiationService.createInstance(NodeCachedDataManager);

// Check for negative performance numbers
// TODO@Ben remove me
if (this.timerService.startupMetrics.ellapsed < 0) {
this.handleNegativePerformanceNumbers(instantiationService, this.timerService.startupMetrics.ellapsed);
}
}
});

@@ -245,11 +251,9 @@ export class WorkbenchShell {
const { profileStartup } = this.environmentService;
if (profileStartup) {
this.extensionService.onReady().then(() => stopProfiling(profileStartup.dir, profileStartup.prefix)).then(() => {

readdir(profileStartup.dir).then(files => {
return files.filter(value => value.indexOf(profileStartup.prefix) === 0);
}).then(files => {

const profileFiles = files.reduce((prev, cur) => `${prev}${join(profileStartup.dir, cur)}\n`, '\n');

const primaryButton = this.messageService.confirm({
@@ -275,6 +279,16 @@ export class WorkbenchShell {
}
}

private handleNegativePerformanceNumbers(i: IInstantiationService, time: number): void {
this.messageService.show(Severity.Warning, {
message: nls.localize('handleNegativePerformanceNumbers', "Something went wrong measuring startup performance numbers (ellapsed: {0}ms). We would like to learn more about this issue.", time),
actions: [
i.createInstance(ReportPerformanceIssueAction, ReportPerformanceIssueAction.ID, ReportPerformanceIssueAction.LABEL),
CloseAction
]
});
}

private initServiceCollection(container: HTMLElement): [IInstantiationService, ServiceCollection] {
const disposables = new Disposables();

0 comments on commit 89cd0b7

Please sign in to comment.