private void TrackLatency(OperationType operationType, long latencyInMs, bool isSuccess) { string latencyItemName = this.GetLatencyItemName(operationType, isSuccess); PerformanceEntry.LatencyMeasure latencyMeasure; if (!this.LatencyMap.TryGetValue(latencyItemName, out latencyMeasure) || latencyMeasure == null) { latencyMeasure = new PerformanceEntry.LatencyMeasure(); this.LatencyMap[latencyItemName] = latencyMeasure; } latencyMeasure.Update(latencyInMs); }
public string GetLatencyStatsAsXml() { XElement xelement = new XElement("LatencyStats"); foreach (KeyValuePair <string, PerformanceEntry.LatencyMeasure> keyValuePair in this.LatencyMap) { string key = keyValuePair.Key; PerformanceEntry.LatencyMeasure value = keyValuePair.Value; XElement content = new XElement("Item", new object[] { new XAttribute("Name", key), new XAttribute("Count", value.Count), new XAttribute("Average", value.Average.ToString(".00")), new XAttribute("Max", value.Max), new XAttribute("MaxMinusOne", value.MaxMinusOne), new XAttribute("Min", value.Min), new XAttribute("MinPlusOne", value.MinPlusOne) }); xelement.Add(content); } return(xelement.ToString()); }