Skip to content

Commit 74cc2f3

Browse files
committed
Use more explit name for request start time
Note that this is the total time the request has been in the server queue, not the actual execution time
1 parent 5359a93 commit 74cc2f3

4 files changed

Lines changed: 21 additions & 14 deletions

File tree

extensions/typescript-language-features/src/tsServer/callbackMap.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { ServerResponse } from '../typescriptService';
99
export interface CallbackItem<R> {
1010
readonly onSuccess: (value: R) => void;
1111
readonly onError: (err: Error) => void;
12-
readonly startTime: number;
12+
readonly queuingStartTime: number;
1313
readonly isAsync: boolean;
1414
}
1515

@@ -48,4 +48,4 @@ export class CallbackMap<R extends Proto.Response> {
4848
this._asyncCallbacks.delete(seq);
4949
}
5050
}
51-
}
51+
}

extensions/typescript-language-features/src/tsServer/server.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,10 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe
140140
const event = message as Proto.Event;
141141
if (event.event === 'requestCompleted') {
142142
const seq = (event as Proto.RequestCompletedEvent).body.request_seq;
143-
const p = this._callbacks.fetch(seq);
144-
if (p) {
145-
this._tracer.traceRequestCompleted(this._serverId, 'requestCompleted', seq, p.startTime);
146-
p.onSuccess(undefined);
143+
const callback = this._callbacks.fetch(seq);
144+
if (callback) {
145+
this._tracer.traceRequestCompleted(this._serverId, 'requestCompleted', seq, callback);
146+
callback.onSuccess(undefined);
147147
}
148148
} else {
149149
this._tracer.traceEvent(this._serverId, event);
@@ -186,7 +186,7 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe
186186
return;
187187
}
188188

189-
this._tracer.traceResponse(this._serverId, response, callback.startTime);
189+
this._tracer.traceResponse(this._serverId, response, callback);
190190
if (response.success) {
191191
callback.onSuccess(response);
192192
} else if (response.message === 'No content available.') {
@@ -210,7 +210,7 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe
210210
let result: Promise<ServerResponse.Response<Proto.Response>> | undefined;
211211
if (executeInfo.expectsResult) {
212212
result = new Promise<ServerResponse.Response<Proto.Response>>((resolve, reject) => {
213-
this._callbacks.add(request.seq, { onSuccess: resolve, onError: reject, startTime: Date.now(), isAsync: executeInfo.isAsync }, executeInfo.isAsync);
213+
this._callbacks.add(request.seq, { onSuccess: resolve, onError: reject, queuingStartTime: Date.now(), isAsync: executeInfo.isAsync }, executeInfo.isAsync);
214214

215215
if (executeInfo.token) {
216216
executeInfo.token.onCancellationRequested(() => {

extensions/typescript-language-features/src/typescriptServiceClient.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,10 @@ export default class TypeScriptServiceClient extends Disposable implements IType
714714
return this.bufferSyncSupport.interuptGetErr(f);
715715
}
716716

717-
private fatalError(command: string, error: Error): void {
717+
private fatalError(command: string, error: unknown): void {
718+
if (!(error instanceof TypeScriptServerError)) {
719+
console.log('fdasfasdf');
720+
}
718721
/* __GDPR__
719722
"fatalError" : {
720723
"${include}": [

extensions/typescript-language-features/src/utils/tracer.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ namespace Trace {
2929
}
3030
}
3131

32+
interface RequestExecutionMetadata {
33+
readonly queuingStartTime: number
34+
}
35+
3236
export default class Tracer {
3337
private trace?: Trace;
3438

@@ -61,22 +65,22 @@ export default class Tracer {
6165
this.logTrace(serverId, `Sending request: ${request.command} (${request.seq}). Response expected: ${responseExpected ? 'yes' : 'no'}. Current queue length: ${queueLength}`, data);
6266
}
6367

64-
public traceResponse(serverId: string, response: Proto.Response, startTime: number): void {
68+
public traceResponse(serverId: string, response: Proto.Response, meta: RequestExecutionMetadata): void {
6569
if (this.trace === Trace.Off) {
6670
return;
6771
}
6872
let data: string | undefined = undefined;
6973
if (this.trace === Trace.Verbose && response.body) {
7074
data = `Result: ${JSON.stringify(response.body, null, 4)}`;
7175
}
72-
this.logTrace(serverId, `Response received: ${response.command} (${response.request_seq}). Request took ${Date.now() - startTime} ms. Success: ${response.success} ${!response.success ? '. Message: ' + response.message : ''}`, data);
76+
this.logTrace(serverId, `Response received: ${response.command} (${response.request_seq}). Request took ${Date.now() - meta.queuingStartTime} ms. Success: ${response.success} ${!response.success ? '. Message: ' + response.message : ''}`, data);
7377
}
7478

75-
public traceRequestCompleted(serverId: string, command: string, request_seq: number, startTime: number): any {
79+
public traceRequestCompleted(serverId: string, command: string, request_seq: number, meta: RequestExecutionMetadata): any {
7680
if (this.trace === Trace.Off) {
7781
return;
7882
}
79-
this.logTrace(serverId, `Async response received: ${command} (${request_seq}). Request took ${Date.now() - startTime} ms.`);
83+
this.logTrace(serverId, `Async response received: ${command} (${request_seq}). Request took ${Date.now() - meta.queuingStartTime} ms.`);
8084
}
8185

8286
public traceEvent(serverId: string, event: Proto.Event): void {
@@ -95,4 +99,4 @@ export default class Tracer {
9599
this.logger.logLevel('Trace', `<${serverId}> ${message}`, data);
96100
}
97101
}
98-
}
102+
}

0 commit comments

Comments
 (0)