6
6
import { Barrier } from 'vs/base/common/async' ;
7
7
import { Emitter } from 'vs/base/common/event' ;
8
8
import { Disposable } from 'vs/base/common/lifecycle' ;
9
+ import { mark } from 'vs/base/common/performance' ;
9
10
import { URI } from 'vs/base/common/uri' ;
10
11
import { IPtyHostProcessReplayEvent , ISerializedCommandDetectionCapability } from 'vs/platform/terminal/common/capabilities/capabilities' ;
11
12
import { IProcessDataEvent , ITerminalChildProcess , ITerminalLaunchError , IProcessProperty , IProcessPropertyMap , ProcessPropertyType , IProcessReadyEvent , ITerminalLogService } from 'vs/platform/terminal/common/terminal' ;
@@ -32,6 +33,8 @@ export class RemotePty extends Disposable implements ITerminalChildProcess {
32
33
33
34
private readonly _onProcessData = this . _register ( new Emitter < string | IProcessDataEvent > ( ) ) ;
34
35
readonly onProcessData = this . _onProcessData . event ;
36
+ private readonly _onProcessReplayComplete = this . _register ( new Emitter < void > ( ) ) ;
37
+ readonly onProcessReplayComplete = this . _onProcessReplayComplete . event ;
35
38
private readonly _onProcessReady = this . _register ( new Emitter < IProcessReadyEvent > ( ) ) ;
36
39
readonly onProcessReady = this . _onProcessReady . event ;
37
40
private readonly _onDidChangeProperty = this . _register ( new Emitter < IProcessProperty < any > > ( ) ) ;
@@ -176,6 +179,7 @@ export class RemotePty extends Disposable implements ITerminalChildProcess {
176
179
}
177
180
178
181
async handleReplay ( e : IPtyHostProcessReplayEvent ) {
182
+ mark ( `code/terminal/willHandleReplay/${ this . id } ` ) ;
179
183
try {
180
184
this . _inReplay = true ;
181
185
for ( const innerEvent of e . events ) {
@@ -197,6 +201,9 @@ export class RemotePty extends Disposable implements ITerminalChildProcess {
197
201
198
202
// remove size override
199
203
this . _onDidChangeProperty . fire ( { type : ProcessPropertyType . OverrideDimensions , value : undefined } ) ;
204
+
205
+ mark ( `code/terminal/didHandleReplay/${ this . id } ` ) ;
206
+ this . _onProcessReplayComplete . fire ( ) ;
200
207
}
201
208
202
209
handleOrphanQuestion ( ) {
0 commit comments