mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-25 11:08:51 +01:00
#37677: Add tracing in the extension host around activating extensions
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user