Skip to content

Commit c686f26

Browse files
committed
Remove cached telemetry identity context
1 parent 943765e commit c686f26

File tree

5 files changed

+17
-89
lines changed

5 files changed

+17
-89
lines changed

workspaces/ballerina/ballerina-extension/src/extension.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { BallerinaExtension } from './core';
2121
import { activate as activateBBE } from './views/bbe';
2222
import {
2323
activate as activateTelemetryListener, CMP_EXTENSION_CORE, sendTelemetryEvent,
24-
TM_EVENT_EXTENSION_ACTIVATE, initializeTelemetryContext
24+
TM_EVENT_EXTENSION_ACTIVATE
2525
} from './features/telemetry';
2626
import { activateDebugConfigProvider } from './features/debugger';
2727
import { activate as activateProjectFeatures } from './features/project';
@@ -125,9 +125,6 @@ export async function activateBallerina(): Promise<BallerinaExtension> {
125125
try {
126126
debug('Sending telemetry event.');
127127
sendTelemetryEvent(ballerinaExtInstance, TM_EVENT_EXTENSION_ACTIVATE, CMP_EXTENSION_CORE);
128-
129-
// Initialize telemetry identity context
130-
initializeTelemetryContext();
131128
} catch (error) {
132129
debug('Error sending telemetry event.');
133130
}

workspaces/ballerina/ballerina-extension/src/features/telemetry/activator.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,25 @@ const schedule = require('node-schedule');
3030
const TM_EVENT_TYPE_ERROR = "ErrorTelemetryEvent";
3131
const TM_EVENT_TYPE_FEATURE_USAGE = "FeatureUsageTelemetryEvent";
3232

33-
export async function activate(ballerinaExtInstance: BallerinaExtension) {
34-
33+
export function activate(ballerinaExtInstance: BallerinaExtension) {
3534
const reporter = ballerinaExtInstance.telemetryReporter;
3635
const langClient = <ExtendedLangClient>ballerinaExtInstance.langClient;
3736

3837
// Start listening telemtry events from language server
39-
langClient.onNotification('telemetry/event', (event: LSTelemetryEvent) => {
38+
langClient.onNotification('telemetry/event', async (event: LSTelemetryEvent) => {
4039
let props: { [key: string]: string; };
4140
switch (event.type) {
4241
case TM_EVENT_TYPE_ERROR:
4342
const errorEvent: LSErrorTelemetryEvent = <LSErrorTelemetryEvent>event;
44-
props = getTelemetryProperties(ballerinaExtInstance, event.component, getMessageObject(TM_EVENT_TYPE_ERROR));
43+
props = await getTelemetryProperties(ballerinaExtInstance, event.component, getMessageObject(TM_EVENT_TYPE_ERROR));
4544
props["ballerina.langserver.error.description"] = errorEvent.message;
4645
props["ballerina.langserver.error.stacktrace"] = errorEvent.errorStackTrace;
4746
props["ballerina.langserver.error.message"] = errorEvent.errorMessage;
4847
reporter.sendTelemetryEvent(TM_ERROR_LANG_SERVER, props);
4948
break;
5049
case TM_EVENT_TYPE_FEATURE_USAGE:
5150
const usageEvent: LSFeatureUsageTelemetryEvent = <LSFeatureUsageTelemetryEvent>event;
52-
props = getTelemetryProperties(ballerinaExtInstance, event.component,
51+
props = await getTelemetryProperties(ballerinaExtInstance, event.component,
5352
getMessageObject(TM_EVENT_TYPE_FEATURE_USAGE));
5453
props["ballerina.langserver.feature.name"] = usageEvent.featureName;
5554
props["ballerina.langserver.feature.class"] = usageEvent.featureClass;

workspaces/ballerina/ballerina-extension/src/features/telemetry/context.ts

Lines changed: 0 additions & 65 deletions
This file was deleted.

workspaces/ballerina/ballerina-extension/src/features/telemetry/index.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import TelemetryReporter from "vscode-extension-telemetry";
2020
import { BallerinaExtension } from "../../core";
21-
import { getCachedLoginMethod, getCachedBiIntelId } from "./context";
21+
import { getLoginMethod, getBiIntelId } from "../../utils/ai/auth";
2222

2323
//Ballerina-VSCode-Extention repo key as default
2424
const DEFAULT_KEY = "3a82b093-5b7b-440c-9aa2-3b8e8e5704e7";
@@ -35,15 +35,14 @@ export function createTelemetryReporter(ext: BallerinaExtension): TelemetryRepor
3535
if (ext.context) {
3636
ext.context.subscriptions.push(reporter);
3737
}
38-
3938
return reporter;
4039
}
4140

42-
export function sendTelemetryEvent(extension: BallerinaExtension, eventName: string, componentName: string,
41+
export async function sendTelemetryEvent(extension: BallerinaExtension, eventName: string, componentName: string,
4342
customDimensions: { [key: string]: string; } = {}, measurements: { [key: string]: number; } = {}) {
4443
// temporarily disabled in codeserver due to GDPR issue
4544
if (extension.isTelemetryEnabled() && !extension.getCodeServerContext().codeServerEnv) {
46-
extension.telemetryReporter.sendTelemetryEvent(eventName, getTelemetryProperties(extension, componentName,
45+
extension.telemetryReporter.sendTelemetryEvent(eventName, await getTelemetryProperties(extension, componentName,
4746
customDimensions), measurements);
4847
}
4948
}
@@ -52,13 +51,16 @@ export async function sendTelemetryException(extension: BallerinaExtension, erro
5251
params: { [key: string]: string } = {}) {
5352
// temporarily disabled in codeserver due to GDPR issue
5453
if (extension.isTelemetryEnabled() && !extension.getCodeServerContext().codeServerEnv) {
55-
extension.telemetryReporter.sendTelemetryException(error, getTelemetryProperties(extension, componentName,
54+
extension.telemetryReporter.sendTelemetryException(error, await getTelemetryProperties(extension, componentName,
5655
params));
5756
}
5857
}
5958

60-
export function getTelemetryProperties(extension: BallerinaExtension, component: string, params: { [key: string]: string; } = {})
61-
: { [key: string]: string; } {
59+
export async function getTelemetryProperties(extension: BallerinaExtension, component: string, params: { [key: string]: string; } = {})
60+
: Promise<{ [key: string]: string; }> {
61+
62+
const loginType = await getLoginMethod();
63+
const biIntelId = await getBiIntelId();
6264

6365
return {
6466
...params,
@@ -72,11 +74,10 @@ export function getTelemetryProperties(extension: BallerinaExtension, component:
7274
'component': CHOREO_COMPONENT_ID,
7375
'project': CHOREO_PROJECT_ID,
7476
'org': CHOREO_ORG_ID,
75-
'loginType': getCachedLoginMethod() !== undefined ? getCachedLoginMethod() : 'undefined',
76-
'biIntelId': getCachedBiIntelId() !== undefined ? getCachedBiIntelId() : 'undefined',
77-
};
77+
'loginType': loginType,
78+
'biIntelId': biIntelId,
79+
}
7880
}
79-
8081
export function getMessageObject(message?: string): { [key: string]: string; } {
8182
if (message) {
8283
return { 'ballerina.message': message };
@@ -88,4 +89,3 @@ export * from "./events";
8889
export * from "./exceptions";
8990
export * from "./components";
9091
export * from "./activator";
91-
export * from "./context";

workspaces/ballerina/ballerina-extension/src/utils/ai/auth.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import { AUTH_CLIENT_ID, AUTH_ORG } from '../../features/ai/utils';
2222
import axios from 'axios';
2323
import { jwtDecode, JwtPayload } from 'jwt-decode';
2424
import { AuthCredentials, LoginMethod } from '@wso2/ballerina-core';
25-
import { initializeTelemetryContext } from '../../features/telemetry';
2625

2726
export const REFRESH_TOKEN_NOT_AVAILABLE_ERROR_MESSAGE = "Refresh token is not available.";
2827
export const TOKEN_REFRESH_ONLY_SUPPORTED_FOR_BI_INTEL = "Token refresh is only supported for BI Intelligence authentication";
@@ -125,8 +124,6 @@ async function copilotTokenExists() {
125124
export const storeAuthCredentials = async (credentials: AuthCredentials): Promise<void> => {
126125
const credentialsJson = JSON.stringify(credentials);
127126
await extension.context.secrets.store(AUTH_CREDENTIALS_SECRET_KEY, credentialsJson);
128-
// Refresh telemetry identity after storing new credentials
129-
initializeTelemetryContext();
130127
};
131128

132129
export const getAuthCredentials = async (): Promise<AuthCredentials | undefined> => {

0 commit comments

Comments
 (0)