Skip to content

Commit 42f9bce

Browse files
authored
Merge pull request microsoft#185397 from microsoft/tyriar/185392
Trace events on PtyService
2 parents bd86e0f + 9d28924 commit 42f9bce

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
@@ -68,22 +68,31 @@ export class PtyService extends Disposable implements IPtyService {
6868
private readonly _autoReplies: Map<string, string> = new Map();
6969

7070
private readonly _onHeartbeat = this._register(new Emitter<void>());
71-
readonly onHeartbeat = this._onHeartbeat.event;
71+
readonly onHeartbeat = this._traceEvent('_onHeartbeat', this._onHeartbeat.event);
7272

7373
private readonly _onProcessData = this._register(new Emitter<{ id: number; event: IProcessDataEvent | string }>());
74-
readonly onProcessData = this._onProcessData.event;
74+
readonly onProcessData = this._traceEvent('_onProcessData', this._onProcessData.event);
7575
private readonly _onProcessReplay = this._register(new Emitter<{ id: number; event: IPtyHostProcessReplayEvent }>());
76-
readonly onProcessReplay = this._onProcessReplay.event;
76+
readonly onProcessReplay = this._traceEvent('_onProcessReplay', this._onProcessReplay.event);
7777
private readonly _onProcessReady = this._register(new Emitter<{ id: number; event: IProcessReadyEvent }>());
78-
readonly onProcessReady = this._onProcessReady.event;
78+
readonly onProcessReady = this._traceEvent('_onProcessReady', this._onProcessReady.event);
7979
private readonly _onProcessExit = this._register(new Emitter<{ id: number; event: number | undefined }>());
80-
readonly onProcessExit = this._onProcessExit.event;
80+
readonly onProcessExit = this._traceEvent('_onProcessExit', this._onProcessExit.event);
8181
private readonly _onProcessOrphanQuestion = this._register(new Emitter<{ id: number }>());
82-
readonly onProcessOrphanQuestion = this._onProcessOrphanQuestion.event;
82+
readonly onProcessOrphanQuestion = this._traceEvent('_onProcessOrphanQuestion', this._onProcessOrphanQuestion.event);
8383
private readonly _onDidRequestDetach = this._register(new Emitter<{ requestId: number; workspaceId: string; instanceId: number }>());
84-
readonly onDidRequestDetach = this._onDidRequestDetach.event;
84+
readonly onDidRequestDetach = this._traceEvent('_onDidRequestDetach', this._onDidRequestDetach.event);
8585
private readonly _onDidChangeProperty = this._register(new Emitter<{ id: number; property: IProcessProperty<any> }>());
86-
readonly onDidChangeProperty = this._onDidChangeProperty.event;
86+
readonly onDidChangeProperty = this._traceEvent('_onDidChangeProperty', this._onDidChangeProperty.event);
87+
88+
private _traceEvent<T>(name: string, event: Event<T>): Event<T> {
89+
event(e => {
90+
if (this._logService.getLevel() === LogLevel.Trace) {
91+
this._logService.trace(`[RPC Event] PtyService#${name}.fire(${JSON.stringify(e)})`);
92+
}
93+
});
94+
return event;
95+
}
8796

8897
@memoize
8998
get traceRpcArgs(): { logService: ILogService; simulatedLatency: number } {

0 commit comments

Comments
 (0)