NTP-11825 | Load Time Event Changes (#13606)
This commit is contained in:
@@ -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<number | null>(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],
|
||||
},
|
||||
};
|
||||
|
||||
@@ -31,7 +31,7 @@ const BaseScreen: React.FC<{ navigation: any; route: any }> = ({
|
||||
}) => {
|
||||
const [screenData, setScreenData] = useState<ScreenData | null>(null);
|
||||
const [screenName, setScreenName] = useState<string | null>(null);
|
||||
const [screenKey, setScreenKey] = useState<string | null>(null);
|
||||
const [moduleName, setModuleName] = useState<string | null>(null);
|
||||
const [screenState, setScreenState] = useState<ScreenState | null>(
|
||||
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 => {
|
||||
|
||||
Reference in New Issue
Block a user