Skip to content

Commit fefdd19

Browse files
Track more errors on client side (#3167)
Signed-off-by: Jinbo Wang <[email protected]>
1 parent 34cc5f5 commit fefdd19

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/extension.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
139139
const isDebugModeByClientPort = !!process.env['SYNTAXLS_CLIENT_PORT'] || !!process.env['JDTLS_CLIENT_PORT'];
140140
const requireSyntaxServer = (serverMode !== ServerMode.standard) && (!isDebugModeByClientPort || !!process.env['SYNTAXLS_CLIENT_PORT']);
141141
let requireStandardServer = (serverMode !== ServerMode.lightWeight) && (!isDebugModeByClientPort || !!process.env['JDTLS_CLIENT_PORT']);
142+
let initFailureReported: boolean = false;
142143

143144
// Options to control the language client
144145
const clientOptions: LanguageClientOptions = {
@@ -244,6 +245,15 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
244245
initializationFailedHandler: error => {
245246
logger.error(`Failed to initialize ${extensionName} due to ${error && error.toString()}`);
246247
if (error.toString().includes('Connection') && error.toString().includes('disposed')) {
248+
if (!initFailureReported) {
249+
apiManager.fireTraceEvent({
250+
name: "java.client.error.initialization",
251+
properties: {
252+
message: error && error.toString(),
253+
},
254+
});
255+
}
256+
initFailureReported = true;
247257
return false;
248258
} else {
249259
return true;

src/standardLanguageClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,12 @@ export class StandardLanguageClient {
159159
this.status = ClientStatus.error;
160160
serverStatus.updateServerStatus(ServerStatusKind.error);
161161
apiManager.updateStatus(ClientStatus.error);
162+
apiManager.fireTraceEvent({
163+
name: "java.ls.error.serviceError",
164+
properties: {
165+
message: report.message,
166+
},
167+
});
162168
break;
163169
case 'ProjectStatus':
164170
if (report.message === "WARNING") {
@@ -250,6 +256,12 @@ export class StandardLanguageClient {
250256
break;
251257
case MessageType.Error:
252258
show = window.showErrorMessage;
259+
apiManager.fireTraceEvent({
260+
name: "java.ls.error.notification",
261+
properties: {
262+
message: notification.message,
263+
},
264+
});
253265
break;
254266
}
255267
if (!show) {

0 commit comments

Comments
 (0)