Gops: Add tracking for data source check (#87886)

Add tracking for data source check
pull/87788/head^2
Sonia Aguilar 1 year ago committed by GitHub
parent f24eb3165b
commit 28bf5a4577
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      public/app/features/gops/configuration-tracker/Analytics.ts
  2. 24
      public/app/features/gops/configuration-tracker/components/ConfigureIRM.tsx

@ -4,11 +4,13 @@ export enum IRMInteractionNames {
ViewIRMMainPage = 'grafana_irm_configuration_tracker_main_page_view',
OpenEssentials = 'grafana_irm_configuration_tracker_essentials_open',
CloseEssentials = 'grafana_irm_configuration_tracker_essentials_closed',
ClickDataSources = 'grafana_irm_configuration_tracker_data_sources_clicked',
}
export interface ConfigurationTrackerContext {
essentialStepsDone: number;
essentialStepsToDo: number;
dataSourceCompatibleWithAlerting: boolean;
}
export function trackIrmConfigurationTrackerEvent(
interactionName: IRMInteractionNames,

@ -41,14 +41,6 @@ export function ConfigureIRM() {
const styles = useStyles2(getStyles);
const history = useHistory();
// track only once when the component is mounted
useEffect(() => {
trackIrmConfigurationTrackerEvent(IRMInteractionNames.ViewIRMMainPage, {
essentialStepsDone: 0,
essentialStepsToDo: 0,
});
}, []);
// get all the configuration data
const dataSourceConfigurationData = useGetDataSourceConfiguration();
const essentialsConfigurationData = useGetEssentialsConfiguration();
@ -57,9 +49,23 @@ export function ConfigureIRM() {
essentialsConfigurationData,
});
// track only once when the component is mounted
useEffect(() => {
trackIrmConfigurationTrackerEvent(IRMInteractionNames.ViewIRMMainPage, {
essentialStepsDone: 0,
essentialStepsToDo: 0,
dataSourceCompatibleWithAlerting: dataSourceConfigurationData.dataSourceCompatibleWithAlerting,
});
}, [dataSourceConfigurationData.dataSourceCompatibleWithAlerting]);
const [essentialsOpen, setEssentialsOpen] = useState(false);
const handleActionClick = (configID: number, isDone?: boolean) => {
trackIrmConfigurationTrackerEvent(IRMInteractionNames.ClickDataSources, {
essentialStepsDone: essentialsConfigurationData.stepsDone,
essentialStepsToDo: essentialsConfigurationData.totalStepsToDo,
dataSourceCompatibleWithAlerting: dataSourceConfigurationData.dataSourceCompatibleWithAlerting,
});
switch (configID) {
case ConfigurationStepsEnum.CONNECT_DATASOURCE:
if (isDone) {
@ -73,6 +79,7 @@ export function ConfigureIRM() {
trackIrmConfigurationTrackerEvent(IRMInteractionNames.OpenEssentials, {
essentialStepsDone: essentialsConfigurationData.stepsDone,
essentialStepsToDo: essentialsConfigurationData.totalStepsToDo,
dataSourceCompatibleWithAlerting: dataSourceConfigurationData.dataSourceCompatibleWithAlerting,
});
break;
default:
@ -85,6 +92,7 @@ export function ConfigureIRM() {
trackIrmConfigurationTrackerEvent(IRMInteractionNames.CloseEssentials, {
essentialStepsDone: essentialsConfigurationData.stepsDone,
essentialStepsToDo: essentialsConfigurationData.totalStepsToDo,
dataSourceCompatibleWithAlerting: dataSourceConfigurationData.dataSourceCompatibleWithAlerting,
});
}

Loading…
Cancel
Save