提交 cf25786f 编写于 作者: A Alex Ross

Add logging for finding ports

上级 9bfa4c1d
...@@ -22,6 +22,7 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions' ...@@ -22,6 +22,7 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'
import { promisify } from 'util'; import { promisify } from 'util';
import { MovingAverage } from 'vs/base/common/numbers'; import { MovingAverage } from 'vs/base/common/numbers';
import { CandidatePort } from 'vs/workbench/services/remote/common/remoteExplorerService'; import { CandidatePort } from 'vs/workbench/services/remote/common/remoteExplorerService';
import { ILogService } from 'vs/platform/log/common/log';
class ExtensionTunnel implements vscode.Tunnel { class ExtensionTunnel implements vscode.Tunnel {
private _onDispose: Emitter<void> = new Emitter(); private _onDispose: Emitter<void> = new Emitter();
...@@ -141,7 +142,8 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe ...@@ -141,7 +142,8 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
constructor( constructor(
@IExtHostRpcService extHostRpc: IExtHostRpcService, @IExtHostRpcService extHostRpc: IExtHostRpcService,
@IExtHostInitDataService private initData: IExtHostInitDataService @IExtHostInitDataService private initData: IExtHostInitDataService,
@ILogService private logService: ILogService
) { ) {
super(); super();
this._proxy = extHostRpc.getProxy(MainContext.MainThreadTunnelService); this._proxy = extHostRpc.getProxy(MainContext.MainThreadTunnelService);
...@@ -169,6 +171,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe ...@@ -169,6 +171,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
} }
async $registerCandidateFinder(): Promise<void> { async $registerCandidateFinder(): Promise<void> {
this.logService.trace(`registerCandidateFinder ${isLinux} ${this.initData.remote.isRemote} ${this.initData.remote.authority}`);
if (!isLinux || !this.initData.remote.isRemote || !this.initData.remote.authority) { if (!isLinux || !this.initData.remote.isRemote || !this.initData.remote.authority) {
return; return;
} }
...@@ -177,6 +180,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe ...@@ -177,6 +180,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
let oldPorts: { host: string, port: number, detail: string }[] | undefined = undefined; let oldPorts: { host: string, port: number, detail: string }[] | undefined = undefined;
while (1) { while (1) {
const startTime = new Date().getTime(); const startTime = new Date().getTime();
this.logService.trace('finding candidates');
const newPorts = await this.findCandidatePorts(); const newPorts = await this.findCandidatePorts();
const timeTaken = new Date().getTime() - startTime; const timeTaken = new Date().getTime() - startTime;
movingAverage.update(timeTaken); movingAverage.update(timeTaken);
...@@ -189,6 +193,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe ...@@ -189,6 +193,7 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
} }
async setTunnelExtensionFunctions(provider: vscode.RemoteAuthorityResolver | undefined): Promise<IDisposable> { async setTunnelExtensionFunctions(provider: vscode.RemoteAuthorityResolver | undefined): Promise<IDisposable> {
this.logService.trace(`setting tunnel extension functions ${!!provider} ${!!provider?.showCandidatePort}`);
if (provider) { if (provider) {
if (provider.showCandidatePort) { if (provider.showCandidatePort) {
this._showCandidatePort = provider.showCandidatePort; this._showCandidatePort = provider.showCandidatePort;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册