示例#1
0
        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);
        }
示例#2
0
 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;
 }