private static void PublishCounters(HttpWorkerRequest httpWorkerRequest, RequestLogger logger)
        {
            string serverVariable = httpWorkerRequest.GetServerVariable(NativeProxyLogHelper.NativeProxyStatisticsVariables.Counters);

            if (!string.IsNullOrEmpty(serverVariable))
            {
                logger.AppendGenericInfo(NativeProxyLogHelper.NativeProxyStatisticsVariables.Counters, serverVariable);
            }
        }
        private static void PublishGenericStats(HttpWorkerRequest httpWorkerRequest, RequestLogger logger, string statsDataName)
        {
            string serverVariable = httpWorkerRequest.GetServerVariable(statsDataName);

            if (!string.IsNullOrEmpty(serverVariable))
            {
                logger.AppendGenericInfo(statsDataName, serverVariable);
            }
        }
        private static void PublishStreamStats(HttpWorkerRequest httpWorkerRequest, RequestLogger logger)
        {
            string serverVariable = httpWorkerRequest.GetServerVariable(NativeProxyLogHelper.NativeProxyStatisticsVariables.StreamStats);

            if (!string.IsNullOrEmpty(serverVariable))
            {
                logger.AppendGenericInfo(NativeProxyLogHelper.NativeProxyStatisticsVariables.StreamStats, serverVariable);
                long[] array = NativeProxyLogHelper.ConvertStatisticsDataArray(serverVariable);
                logger.LogField(LogKey.RequestBytes, array[0]);
                logger.LogField(LogKey.ResponseBytes, array[2]);
            }
        }
        private static void PublishLatencies(HttpWorkerRequest httpWorkerRequest, RequestLogger logger, bool hasWinHttpQuery)
        {
            string serverVariable = httpWorkerRequest.GetServerVariable(NativeProxyLogHelper.NativeProxyStatisticsVariables.Latencies);

            if (!string.IsNullOrEmpty(serverVariable))
            {
                logger.AppendGenericInfo(NativeProxyLogHelper.NativeProxyStatisticsVariables.Latencies, serverVariable);
                long[] array = NativeProxyLogHelper.ConvertStatisticsDataArray(serverVariable);
                logger.LogField(LogKey.ClientReqStreamLatency, array[0]);
                logger.LogField(LogKey.ClientRespStreamLatency, array[1]);
                logger.LogField(LogKey.BackendReqStreamLatency, array[2]);
                if (hasWinHttpQuery)
                {
                    logger.LogField(LogKey.BackendRespStreamLatency, array[3]);
                    return;
                }
                logger.LogField(LogKey.BackendRespStreamLatency, array[4]);
            }
        }
        private static bool PublishTimestamps(HttpWorkerRequest httpWorkerRequest, RequestLogger logger)
        {
            bool   result         = false;
            string serverVariable = httpWorkerRequest.GetServerVariable(NativeProxyLogHelper.NativeProxyStatisticsVariables.Timestamps);

            if (!string.IsNullOrEmpty(serverVariable))
            {
                logger.AppendGenericInfo(NativeProxyLogHelper.NativeProxyStatisticsVariables.Timestamps, serverVariable);
                long[] array = NativeProxyLogHelper.ConvertStatisticsDataArray(serverVariable);
                logger.LogField(LogKey.ModuleToHandlerSwitchingLatency, array[1] - array[0]);
                long num = array[14] - array[3];
                logger.LogField(LogKey.BackendProcessingLatency, num);
                long num2 = num;
                if (array[22] >= 0L)
                {
                    num2 = array[22] - array[3];
                }
                logger.LogField(LogKey.ProxyTime, num2);
                result = (array[15] >= 0L);
            }
            return(result);
        }