diff --git a/App/common/hooks/useScreenLoadTime.ts b/App/common/hooks/useScreenLoadTime.ts index ad8e264c22..aef192c1b8 100644 --- a/App/common/hooks/useScreenLoadTime.ts +++ b/App/common/hooks/useScreenLoadTime.ts @@ -1,11 +1,12 @@ import { useEffect, useState } from "react"; -import { useAnalyticsEvent } from "./useAnalyticsEvent"; -import { AnalyticsEvent } from "../interface"; import { EVENT_NAMES, EVENT_PROPERTY_KEYS } from "../constants"; +import { AnalyticsEvent } from "../interface"; import { ScreenState } from "../screen/BaseScreen"; +import { useAnalyticsEvent } from "./useAnalyticsEvent"; const useScreenLoadTime = ( screenName: string | null, + moduleName: string | null, screenState: ScreenState | null | undefined, ) => { const [startTime, setStartTime] = useState(null); @@ -20,13 +21,13 @@ const useScreenLoadTime = ( startTime !== null ) { const endTime = performance.now(); - const loadTime = ((endTime - startTime) / 1000).toFixed(3) + "s"; - if (screenName) { + const loadTime = Math.round(endTime - startTime); + if (screenName && moduleName) { const analyticsEvent: AnalyticsEvent = { - name: EVENT_NAMES.SCREEN_LOAD_TIME, + name: moduleName + "_" + EVENT_NAMES.SCREEN_LOAD_TIME, properties: { [EVENT_PROPERTY_KEYS.SCREEN_NAME]: screenName, - [EVENT_PROPERTY_KEYS.LOAD_TIME]: loadTime, + [EVENT_PROPERTY_KEYS.LOAD_TIME]: loadTime.toString(), [EVENT_PROPERTY_KEYS.SCREEN_STATE]: ScreenState[screenState], }, }; diff --git a/App/common/screen/BaseScreen.tsx b/App/common/screen/BaseScreen.tsx index 9102a596d3..04a1db49dc 100644 --- a/App/common/screen/BaseScreen.tsx +++ b/App/common/screen/BaseScreen.tsx @@ -31,7 +31,7 @@ const BaseScreen: React.FC<{ navigation: any; route: any }> = ({ }) => { const [screenData, setScreenData] = useState(null); const [screenName, setScreenName] = useState(null); - const [screenKey, setScreenKey] = useState(null); + const [moduleName, setModuleName] = useState(null); const [screenState, setScreenState] = useState( ScreenState.LOADING, ); @@ -51,6 +51,7 @@ const BaseScreen: React.FC<{ navigation: any; route: any }> = ({ useEffect(() => { if (!!getScreenNameFromCtaData(route.params?.ctaData)) { setScreenName(getScreenNameFromCtaData(route.params?.ctaData)!!); + setModuleName(getScreenMapperNameFromCtaData(route.params?.ctaData)!!); } }, []); @@ -70,7 +71,7 @@ const BaseScreen: React.FC<{ navigation: any; route: any }> = ({ } }, [route.params.ctaData, screenState]); - useScreenLoadTime(screenName, screenData?.screenState); + useScreenLoadTime(screenName, moduleName, screenData?.screenState); const handleActions = (actionPayload?: GenericActionPayload) => { actionPayload?.metaData?.forEach(ActionMetaData => {