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', ViewIRMMainPage = 'grafana_irm_configuration_tracker_main_page_view',
OpenEssentials = 'grafana_irm_configuration_tracker_essentials_open', OpenEssentials = 'grafana_irm_configuration_tracker_essentials_open',
CloseEssentials = 'grafana_irm_configuration_tracker_essentials_closed', CloseEssentials = 'grafana_irm_configuration_tracker_essentials_closed',
ClickDataSources = 'grafana_irm_configuration_tracker_data_sources_clicked',
} }
export interface ConfigurationTrackerContext { export interface ConfigurationTrackerContext {
essentialStepsDone: number; essentialStepsDone: number;
essentialStepsToDo: number; essentialStepsToDo: number;
dataSourceCompatibleWithAlerting: boolean;
} }
export function trackIrmConfigurationTrackerEvent( export function trackIrmConfigurationTrackerEvent(
interactionName: IRMInteractionNames, interactionName: IRMInteractionNames,

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

Loading…
Cancel
Save