#37677: Add tracing in the extension host around activating extensions

This commit is contained in:
Alex Dima
2017-12-07 15:26:50 +01:00
parent 86421af3a7
commit 824a1b8657
2 changed files with 24 additions and 12 deletions

View File

@@ -25,6 +25,7 @@ import { ExtensionActivatedByEvent } from 'vs/workbench/api/node/extHostExtensio
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
import { createLogService } from 'vs/platform/log/node/spdlogService';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { ILogService } from 'vs/platform/log/common/log';
// const nativeExit = process.exit.bind(process);
function patchProcess(allowExit: boolean) {
@@ -76,6 +77,7 @@ export class ExtensionHostMain {
private _environment: IEnvironment;
private _extensionService: ExtHostExtensionService;
private _extHostConfiguration: ExtHostConfiguration;
private _logService: ILogService;
private disposables: IDisposable[] = [];
constructor(rpcProtocol: RPCProtocol, initData: IInitData) {
@@ -89,14 +91,14 @@ export class ExtensionHostMain {
const threadService = new ExtHostThreadService(rpcProtocol);
const extHostWorkspace = new ExtHostWorkspace(threadService, initData.workspace);
const environmentService = new EnvironmentService(initData.args, initData.execPath);
const logService = createLogService(`exthost${initData.windowId}`, environmentService);
this.disposables.push(logService);
this._logService = createLogService(`exthost${initData.windowId}`, environmentService);
this.disposables.push(this._logService);
logService.info('extension host started');
logService.trace('initData', initData);
this._logService.info('extension host started');
this._logService.trace('initData', initData);
this._extHostConfiguration = new ExtHostConfiguration(threadService.get(MainContext.MainThreadConfiguration), extHostWorkspace, initData.configuration);
this._extensionService = new ExtHostExtensionService(initData, threadService, extHostWorkspace, this._extHostConfiguration, logService);
this._extensionService = new ExtHostExtensionService(initData, threadService, extHostWorkspace, this._extHostConfiguration, this._logService);
// error forwarding and stack trace scanning
const extensionErrors = new WeakMap<Error, IExtensionDescription>();
@@ -138,7 +140,10 @@ export class ExtensionHostMain {
public start(): TPromise<void> {
return this._extensionService.onExtensionAPIReady()
.then(() => this.handleEagerExtensions())
.then(() => this.handleExtensionTests());
.then(() => this.handleExtensionTests())
.then(() => {
this._logService.info(`eager extensions activated`);
});
}
public terminate(): void {