public ObservedTimingMeasurement GetMeasurementDetails() { var ret = new ObservedTimingMeasurement(); if (_measurements == null || _measurements.Count == 0) { return(ret); } var items = _measurements.ToArray(); Array.Sort(items); ret.Measurements.Add(Measurement.From("Mean", items.Sum() / items.Length)); ret.Measurements.Add(Measurement.From("Median", items[items.Length / 2])); ret.Measurements.Add(Measurement.From("Fastest", items[0])); for (var i = 0; i < 5; i++) { ret.Measurements.Add( Measurement.From("Quintile " + (i + 1), items[GetPercentile(i * 20, items.Length)])); } ret.Measurements.Add(Measurement.From("90%", items[GetPercentile(90m, items.Length)])); ret.Measurements.Add(Measurement.From("95%", items[GetPercentile(95m, items.Length)])); ret.Measurements.Add(Measurement.From("99%", items[GetPercentile(99m, items.Length)])); ret.Measurements.Add(Measurement.From("99.5%", items[GetPercentile(99.5m, items.Length)])); ret.Measurements.Add(Measurement.From("99.9%", items[GetPercentile(99.9m, items.Length)])); ret.Measurements.Add(Measurement.From("Highest", items[items.Length - 1])); return(ret); }
public ObservedTimingMeasurement GetMeasurementDetails() { var ret = new ObservedTimingMeasurement(); if (_measurements == null || _measurements.Count == 0) return ret; var items = _measurements.ToArray(); Array.Sort(items); ret.Measurements.Add(Measurement.From("Mean", items.Sum() / items.Length)); ret.Measurements.Add(Measurement.From("Median", items[items.Length / 2])); ret.Measurements.Add(Measurement.From("Fastest", items[0])); for (var i = 0; i < 5; i++) { ret.Measurements.Add(Measurement.From("Quintile " + (i + 1), items[GetPercentile(i * 20, items.Length)])); } ret.Measurements.Add(Measurement.From("90%", items[GetPercentile(90m, items.Length)])); ret.Measurements.Add(Measurement.From("95%", items[GetPercentile(95m, items.Length)])); ret.Measurements.Add(Measurement.From("99%", items[GetPercentile(99m, items.Length)])); ret.Measurements.Add(Measurement.From("99.5%", items[GetPercentile(99.5m, items.Length)])); ret.Measurements.Add(Measurement.From("99.9%", items[GetPercentile(99.9m, items.Length)])); ret.Measurements.Add(Measurement.From("Highest", items[items.Length - 1])); return ret; }