mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Gops: Add tracking for data source check (#87886)
Add tracking for data source check
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user