@@ -19,12 +19,12 @@ export class TracingLanguageClient extends LanguageClient {
1919 const startAt : number = performance . now ( ) ;
2020 return super . start ( ) . then ( value => {
2121 if ( isFirstTimeStart ) {
22- this . fireTraceEvent ( "initialize" , startAt , undefined ) ;
22+ this . fireSuccessTraceEvent ( "initialize" , startAt , undefined ) ;
2323 }
2424 return value ;
2525 } , reason => {
2626 if ( isFirstTimeStart ) {
27- this . fireTraceEvent ( "initialize" , startAt , undefined , reason ) ;
27+ this . fireFailureTraceEvent ( "initialize" , startAt , reason ) ;
2828 }
2929 throw reason ;
3030 } ) ;
@@ -44,11 +44,18 @@ export class TracingLanguageClient extends LanguageClient {
4444 sendRequest ( method : any , ...args ) {
4545 const startAt : number = performance . now ( ) ;
4646 const requestType : string = this . getRequestType ( method , ...args ) ;
47+ let data : any ;
48+ if ( args ?. [ 0 ] ?. context ?. triggerKind ) {
49+ data = {
50+ triggerKind : args [ 0 ] . context . triggerKind ,
51+ triggerCharacter : args [ 0 ] . context . triggerCharacter ,
52+ } ;
53+ }
4754 return this . sendRequest0 ( method , ...args ) . then ( value => {
48- this . fireTraceEvent ( requestType , startAt , this . getResultLength ( value ) ) ;
55+ this . fireSuccessTraceEvent ( requestType , startAt , this . getResultLength ( value ) , data ) ;
4956 return value ;
5057 } , reason => {
51- this . fireTraceEvent ( requestType , startAt , undefined , reason ) ;
58+ this . fireFailureTraceEvent ( requestType , startAt , reason , data ) ;
5259 throw reason ;
5360 } ) ;
5461 }
@@ -88,13 +95,23 @@ export class TracingLanguageClient extends LanguageClient {
8895 return requestType ;
8996 }
9097
91- private fireTraceEvent ( type : string , startAt : number , resultLength : number | undefined , reason ?: any ) : void {
98+ private fireSuccessTraceEvent ( type : string , startAt : number , resultLength : number | undefined , data ?: any ) : void {
9299 const duration : number = performance . now ( ) - startAt ;
93100 requestEventEmitter . fire ( {
94101 type,
95102 duration,
96- error : reason ,
97103 resultLength,
104+ data,
105+ } ) ;
106+ }
107+
108+ private fireFailureTraceEvent ( type : string , startAt : number , error : any , data ?: any ) : void {
109+ const duration : number = performance . now ( ) - startAt ;
110+ requestEventEmitter . fire ( {
111+ type,
112+ duration,
113+ error,
114+ data,
98115 } ) ;
99116 }
100117
0 commit comments