Add method to loging telemetry of a UI interaction
This commit is contained in:
@@ -504,6 +504,11 @@ export interface CancelVariantAnalysisMessage {
|
||||
t: "cancelVariantAnalysis";
|
||||
}
|
||||
|
||||
export interface TelemetryMessage {
|
||||
t: "telemetry";
|
||||
action: string;
|
||||
}
|
||||
|
||||
export type ToVariantAnalysisMessage =
|
||||
| SetVariantAnalysisMessage
|
||||
| SetRepoResultsMessage
|
||||
@@ -517,4 +522,5 @@ export type FromVariantAnalysisMessage =
|
||||
| CopyRepositoryListMessage
|
||||
| ExportResultsMessage
|
||||
| OpenLogsMessage
|
||||
| CancelVariantAnalysisMessage;
|
||||
| CancelVariantAnalysisMessage
|
||||
| TelemetryMessage;
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
VariantAnalysisViewManager,
|
||||
} from "./variant-analysis-view-manager";
|
||||
import { showAndLogWarningMessage } from "../helpers";
|
||||
import { telemetryListener } from "../telemetry";
|
||||
|
||||
export class VariantAnalysisView
|
||||
extends AbstractWebview<ToVariantAnalysisMessage, FromVariantAnalysisMessage>
|
||||
@@ -149,6 +150,9 @@ export class VariantAnalysisView
|
||||
case "openLogs":
|
||||
await this.openLogs();
|
||||
break;
|
||||
case "telemetry":
|
||||
telemetryListener?.sendUIInteraction(msg.action);
|
||||
break;
|
||||
default:
|
||||
assertNever(msg);
|
||||
}
|
||||
|
||||
@@ -168,6 +168,23 @@ export class TelemetryListener extends ConfigListener {
|
||||
);
|
||||
}
|
||||
|
||||
sendUIInteraction(name: string) {
|
||||
if (!this.reporter) {
|
||||
return;
|
||||
}
|
||||
|
||||
const isCanary = (!!CANARY_FEATURES.getValue<boolean>()).toString();
|
||||
|
||||
this.reporter.sendTelemetryEvent(
|
||||
"ui-interaction",
|
||||
{
|
||||
name,
|
||||
isCanary,
|
||||
},
|
||||
{},
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a popup asking the user if they want to enable telemetry
|
||||
* for this extension.
|
||||
|
||||
Reference in New Issue
Block a user