public void Increment(Syslog.HAProxySyslogDatagram datagram) { Interlocked.Increment(ref countHTTPRequestTotal); if (datagram.Status_Code >= 100 && datagram.Status_Code < 200) { Interlocked.Increment(ref countHTTPRequest1xx); } else if (datagram.Status_Code >= 200 && datagram.Status_Code < 300) { Interlocked.Increment(ref countHTTPRequest2xx); } else if (datagram.Status_Code >= 300 && datagram.Status_Code < 400) { Interlocked.Increment(ref countHTTPRequest3xx); } else if (datagram.Status_Code >= 400 && datagram.Status_Code < 500) { Interlocked.Increment(ref countHTTPRequest4xx); } else if (datagram.Status_Code >= 500 && datagram.Status_Code < 600) { Interlocked.Increment(ref countHTTPRequest5xx); } else { Interlocked.Increment(ref countHTTPRequestOther); } Interlocked.Add(ref sumHTTPContentLength, datagram.Content_Length); Interlocked.Add(ref sumHTTPBytesRead, datagram.Bytes_Read); Interlocked.Add(ref sumTq, datagram.Tq); Interlocked.Add(ref sumTw, datagram.Tw); Interlocked.Add(ref sumTc, datagram.Tc); Interlocked.Add(ref sumTr, datagram.Tr); Interlocked.Add(ref sumTt, datagram.Tt); }
public void Count(string key, Syslog.HAProxySyslogDatagram datagram) { HAProxyCounter counter; if (!counters.TryGetValue(key, out counter)) { counters.TryAdd(key, new HAProxyCounter(key)); counters.TryGetValue(key, out counter); } counter.Increment(datagram); }