示例#1
0
 internal long GetCurrentLatency(LatencyTrackerKey trackingKey)
 {
     if (this.latencyTrackerStartTimes.ContainsKey(trackingKey))
     {
         return(this.latencyTrackerStopwatch.ElapsedMilliseconds - this.latencyTrackerStartTimes[trackingKey]);
     }
     return(-1L);
 }
示例#2
0
 internal void StartTracking(LatencyTrackerKey trackingKey, bool resetValue = false)
 {
     if (!this.latencyTrackerStartTimes.ContainsKey(trackingKey))
     {
         this.latencyTrackerStartTimes.Add(trackingKey, this.latencyTrackerStopwatch.ElapsedMilliseconds);
         return;
     }
     this.latencyTrackerStartTimes[trackingKey] = this.latencyTrackerStopwatch.ElapsedMilliseconds;
 }
示例#3
0
        internal void LogElapsedTimeAsLatency(RequestDetailsLogger logger, LatencyTrackerKey trackerKey, HttpProxyMetadata protocolLogKey)
        {
            long currentLatency = this.GetCurrentLatency(trackerKey);

            if (currentLatency >= 0L)
            {
                logger.UpdateLatency(protocolLogKey, (double)currentLatency);
            }
        }