Skip to content

Commit 9d28924

Browse files
committed
Trace events on PtyService
Fixes microsoft#185392
1 parent 2cf2110 commit 9d28924

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/vs/platform/terminal/node/ptyService.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,22 +79,31 @@ export class PtyService extends Disposable implements IPtyService {
7979
private readonly _autoReplies: Map<string, string> = new Map();
8080

8181
private readonly _onHeartbeat = this._register(new Emitter<void>());
82-
readonly onHeartbeat = this._onHeartbeat.event;
82+
readonly onHeartbeat = this._traceEvent('_onHeartbeat', this._onHeartbeat.event);
8383

8484
private readonly _onProcessData = this._register(new Emitter<{ id: number; event: IProcessDataEvent | string }>());
85-
readonly onProcessData = this._onProcessData.event;
85+
readonly onProcessData = this._traceEvent('_onProcessData', this._onProcessData.event);
8686
private readonly _onProcessReplay = this._register(new Emitter<{ id: number; event: IPtyHostProcessReplayEvent }>());
87-
readonly onProcessReplay = this._onProcessReplay.event;
87+
readonly onProcessReplay = this._traceEvent('_onProcessReplay', this._onProcessReplay.event);
8888
private readonly _onProcessReady = this._register(new Emitter<{ id: number; event: IProcessReadyEvent }>());
89-
readonly onProcessReady = this._onProcessReady.event;
89+
readonly onProcessReady = this._traceEvent('_onProcessReady', this._onProcessReady.event);
9090
private readonly _onProcessExit = this._register(new Emitter<{ id: number; event: number | undefined }>());
91-
readonly onProcessExit = this._onProcessExit.event;
91+
readonly onProcessExit = this._traceEvent('_onProcessExit', this._onProcessExit.event);
9292
private readonly _onProcessOrphanQuestion = this._register(new Emitter<{ id: number }>());
93-
readonly onProcessOrphanQuestion = this._onProcessOrphanQuestion.event;
93+
readonly onProcessOrphanQuestion = this._traceEvent('_onProcessOrphanQuestion', this._onProcessOrphanQuestion.event);
9494
private readonly _onDidRequestDetach = this._register(new Emitter<{ requestId: number; workspaceId: string; instanceId: number }>());
95-
readonly onDidRequestDetach = this._onDidRequestDetach.event;
95+
readonly onDidRequestDetach = this._traceEvent('_onDidRequestDetach', this._onDidRequestDetach.event);
9696
private readonly _onDidChangeProperty = this._register(new Emitter<{ id: number; property: IProcessProperty<any> }>());
97-
readonly onDidChangeProperty = this._onDidChangeProperty.event;
97+
readonly onDidChangeProperty = this._traceEvent('_onDidChangeProperty', this._onDidChangeProperty.event);
98+
99+
private _traceEvent<T>(name: string, event: Event<T>): Event<T> {
100+
event(e => {
101+
if (this._logService.getLevel() === LogLevel.Trace) {
102+
this._logService.trace(`[RPC Event] PtyService#${name}.fire(${JSON.stringify(e)})`);
103+
}
104+
});
105+
return event;
106+
}
98107

99108
@memoize
100109
get traceRpcArgs(): { logService: ILogService; simulatedLatency: number } {

0 commit comments

Comments
 (0)