diff --git a/src/daemon/index.ts b/src/daemon/index.ts index 0a3806d6..36cd902e 100644 --- a/src/daemon/index.ts +++ b/src/daemon/index.ts @@ -216,8 +216,8 @@ async function traceJavaExtension(javaExt: vscode.Extension) { const javaExtVersion = javaExt.packageJSON?.version; const isPreReleaseVersion = /^\d+\.\d+\.\d{10}/.test(javaExtVersion); const remappedKeys: any = { - "message": "servermessage", - "exception": "serverexception" + "message": "server_message", + "exception": "server_exception" }; javaExt.exports?.trackEvent?.((event: any) => { const metrics: any = { diff --git a/src/extension.ts b/src/extension.ts index 823e8ba5..43f65356 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -23,6 +23,7 @@ import { KEY_SHOW_WHEN_USING_JAVA } from "./utils/globalState"; import { scheduleAction } from "./utils/scheduler"; import { showWelcomeWebview, WelcomeViewSerializer } from "./welcome"; import { ProjectSettingsViewSerializer } from "./project-settings/projectSettingsView"; +import { TelemetryFilter } from "./utils/telemetryFilter"; let cleanJavaWorkspaceIndicator: string; let activatedTimestamp: number; @@ -98,10 +99,8 @@ function initializeTelemetry(_context: vscode.ExtensionContext) { if (packageInfo.aiKey) { initialize(packageInfo.id, packageInfo.version, packageInfo.aiKey, { replacementOptions: [ - { - lookup: /eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9-_]*/, - replacementString: "" - } + TelemetryFilter.hideUrlOption, + TelemetryFilter.hideJwtTokenOption ] }); } diff --git a/src/utils/telemetryFilter.ts b/src/utils/telemetryFilter.ts new file mode 100644 index 00000000..4c06a2f2 --- /dev/null +++ b/src/utils/telemetryFilter.ts @@ -0,0 +1,13 @@ +import { ReplacementOption } from "@vscode/extension-telemetry"; + +export class TelemetryFilter { + public static hideUrlOption: ReplacementOption = { + lookup: /https?:\/\/[^:\s]+:[^@\s]+@[^\s]+/g, // match URLs with embedded credentials + replacementString: "", + }; + + public static hideJwtTokenOption: ReplacementOption = { + lookup: /eyJ[A-Za-z0-9_-]+\.eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9-_]*/, + replacementString: "" + } +} \ No newline at end of file