Skip to content

Commit b2dca8e

Browse files
authored
Merge pull request #363 from Achal1607/telemetry
Updated telemetry event triggers
2 parents 181172a + 1414fbc commit b2dca8e

File tree

5 files changed

+16
-7
lines changed

5 files changed

+16
-7
lines changed

vscode/src/lsp/initializer.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,7 @@ export const clientInit = () => {
108108
const client = NbLanguageClient.build(connection, LOGGER);
109109

110110
LOGGER.log('Language Client: Starting');
111-
client.start().then(() => {
112-
Telemetry.enqueueStartEvent();
113-
111+
client.start().then(() => {
114112
registerListenersAfterClientInit();
115113
registerNotificationListeners(client);
116114
registerRequestListeners(client);

vscode/src/telemetry/events/start.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ export class ExtensionStartEvent extends BaseEvent<StartEventData> {
5959
}
6060

6161
onSuccessPostEventCallback = async (): Promise<void> => {
62+
LOGGER.debug(`Start event sent successfully`);
6263
this.addEventToCache();
6364
}
6465

vscode/src/telemetry/events/workspaceChange.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
16+
import { LOGGER } from "../../logger";
17+
import { Telemetry } from "../telemetry";
1618
import { BaseEvent } from "./baseEvent";
1719

1820
interface ProjectInfo {
@@ -30,11 +32,22 @@ export interface WorkspaceChangeData {
3032
projInitTimeTaken: number;
3133
}
3234

35+
let workspaceChangeEventTimeout: NodeJS.Timeout | null = null;
36+
3337
export class WorkspaceChangeEvent extends BaseEvent<WorkspaceChangeData> {
3438
public static readonly NAME = "workspaceChange";
3539
public static readonly ENDPOINT = "/workspaceChange";
3640

3741
constructor(payload: WorkspaceChangeData) {
3842
super(WorkspaceChangeEvent.NAME, WorkspaceChangeEvent.ENDPOINT, payload);
3943
}
44+
45+
public onSuccessPostEventCallback = async (): Promise<void> => {
46+
LOGGER.debug(`WorkspaceChange event sent successfully`);
47+
if (workspaceChangeEventTimeout != null) {
48+
clearTimeout(workspaceChangeEventTimeout);
49+
workspaceChangeEventTimeout = null;
50+
}
51+
workspaceChangeEventTimeout = setTimeout(() => Telemetry.sendTelemetry(this), 60 * 60 * 24 * 1000);
52+
};
4053
}

vscode/src/telemetry/telemetry.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ export namespace Telemetry {
5555
enqueueEvent((reporter) => reporter.addEventToQueue(event));
5656
}
5757

58-
export const enqueueStartEvent = (): void => {
59-
enqueueEvent((reporter) => reporter.startEvent());
60-
}
61-
6258
export const enqueueCloseEvent = (): void => {
6359
enqueueEvent((reporter) => reporter.closeEvent());
6460
}

vscode/src/telemetry/telemetryManager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export class TelemetryManager {
6969
}
7070
if (this.settings.isExtTelemetryEnabled) {
7171
this.telemetryRetryManager.startTimer();
72+
this.reporter?.startEvent();
7273
}
7374
}
7475
};

0 commit comments

Comments
 (0)