internal static void EndInternalTracking(Guid cmdletUniqueId, string groupName, string funcName)
        {
            LatencyTracker latencyTracker = CmdletLatencyTracker.GetLatencyTracker(cmdletUniqueId);

            if (latencyTracker == null)
            {
                return;
            }
            latencyTracker.EndInternalTracking(groupName, funcName);
        }
        internal static void PushLatencyDetailsToLog(Guid cmdletUniqueId, Dictionary <string, Enum> knownFuncNameToLogMetadataDic, Action <Enum, double> updateLatencyToLogger, Action <string, string> defaultLatencyLogger)
        {
            LatencyTracker latencyTracker = CmdletLatencyTracker.GetLatencyTracker(cmdletUniqueId);

            if (latencyTracker != null)
            {
                latencyTracker.PushLatencyDetailsToLog(knownFuncNameToLogMetadataDic, updateLatencyToLogger, defaultLatencyLogger);
                return;
            }
            if (defaultLatencyLogger != null)
            {
                defaultLatencyLogger("LatencyMissed", "latencyTracker is null");
                return;
            }
            if (updateLatencyToLogger != null)
            {
                updateLatencyToLogger(RpsCommonMetadata.GenericLatency, 0.0);
            }
        }
        internal static bool StartInternalTracking(Guid cmdletUniqueId, string groupName, string funcName, bool logDetailsAlways)
        {
            LatencyTracker latencyTracker = CmdletLatencyTracker.GetLatencyTracker(cmdletUniqueId);

            return(latencyTracker != null && latencyTracker.StartInternalTracking(groupName, funcName, logDetailsAlways));
        }