From a25b63b8e759d107f8df0d7ba6efe4baa2e029e1 Mon Sep 17 00:00:00 2001 From: shankar yadav Date: Tue, 28 Jan 2025 20:04:56 +0530 Subject: [PATCH] NTP-7163 | App OE - Tracking network api request queue time (#14716) --- .../native_bridge/connectors/NativeAnalyticsConnector.kt | 1 + .../java/com/navi/common/checkmate/core/CheckMateManager.kt | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/android/app/src/main/java/com/naviapp/react_native/native_bridge/connectors/NativeAnalyticsConnector.kt b/android/app/src/main/java/com/naviapp/react_native/native_bridge/connectors/NativeAnalyticsConnector.kt index afc7345fe2..70e685cab7 100644 --- a/android/app/src/main/java/com/naviapp/react_native/native_bridge/connectors/NativeAnalyticsConnector.kt +++ b/android/app/src/main/java/com/naviapp/react_native/native_bridge/connectors/NativeAnalyticsConnector.kt @@ -112,6 +112,7 @@ class NativeAnalyticsConnector internal constructor(context: ReactApplicationCon statusCode = statusCode?.toInt().orZero(), actualLatency = latency.orZero(), networkLatency = latency.orZero(), + queueLatency = 0, isNae = isNae, httpStatusCode = statusCode?.toInt().orZero(), vertical = getModuleNameForCheckMate(moduleName), diff --git a/android/navi-common/src/main/java/com/navi/common/checkmate/core/CheckMateManager.kt b/android/navi-common/src/main/java/com/navi/common/checkmate/core/CheckMateManager.kt index d4c49918ca..16293bcc50 100644 --- a/android/navi-common/src/main/java/com/navi/common/checkmate/core/CheckMateManager.kt +++ b/android/navi-common/src/main/java/com/navi/common/checkmate/core/CheckMateManager.kt @@ -55,6 +55,7 @@ object CheckMateManager { statusCode: Int, actualLatency: Long, networkLatency: Long, + queueLatency: Long, isNae: Boolean, httpStatusCode: Int, vertical: String, @@ -74,6 +75,7 @@ object CheckMateManager { "endpoint" to endpoint, "actualLatency" to actualLatency.toString(), "networkLatency" to networkLatency.toString(), + "queueLatency" to queueLatency.toString(), "statusCode" to statusCode.toString(), "httpStatusCode" to httpStatusCode.toString(), "vertical" to vertical, @@ -184,10 +186,12 @@ object CheckMateManager { val vertical = metricInfo.vertical val screen = metricInfo.screen val method = apiResponse?.raw()?.request?.method.orEmpty() + val queueLatency = maxOf(0, actualLatency - apiLatency) recordNetworkEvent( statusCode = handledResponse.statusCode ?: httpStatusCode, actualLatency = actualLatency, networkLatency = apiLatency, + queueLatency = queueLatency, isNae = isNae, httpStatusCode = httpStatusCode, vertical = vertical,