/// <summary>
 /// When serializing the result data to benchview this is called to determine if any of the metrics should be reported differently
 /// than they were collected. Both web apps use this to collect several measurements in each iteration, then present those measurements
 /// to benchview as if each was the Duration metric of a distinct scenario test with its own set of iterations.
 /// </summary>
 public override bool TryGetBenchviewCustomMetricReporting(Metric originalMetric, out Metric newMetric, out string newScenarioModelName)
 {
     if (originalMetric.Equals(TrainingMetric))
     {
         newScenarioModelName = "Training";
     }
     else if (originalMetric.Equals(FirstSearchMetric))
     {
         newScenarioModelName = "First Search";
     }
     else if (originalMetric.Equals(MedianSearchMetric))
     {
         newScenarioModelName = "Median Search";
     }
     else
     {
         return(base.TryGetBenchviewCustomMetricReporting(originalMetric, out newMetric, out newScenarioModelName));
     }
     newMetric = Metric.ElapsedTimeMilliseconds;
     return(true);
 }
示例#2
0
 /// <summary>
 /// When serializing the result data to benchview this is called to determine if any of the metrics should be reported differently
 /// than they were collected. Both web apps use this to collect several measurements in each iteration, then present those measurements
 /// to benchview as if each was the Duration metric of a distinct scenario test with its own set of iterations.
 /// </summary>
 public override bool TryGetBenchviewCustomMetricReporting(Metric originalMetric, out Metric newMetric, out string newScenarioModelName)
 {
     if (originalMetric.Equals(StartupMetric))
     {
         newScenarioModelName = "Startup";
     }
     else if (originalMetric.Equals(FirstRequestMetric))
     {
         newScenarioModelName = "First Request";
     }
     else if (originalMetric.Equals(MedianResponseMetric))
     {
         newScenarioModelName = "Median Response";
     }
     else
     {
         return(base.TryGetBenchviewCustomMetricReporting(originalMetric, out newMetric, out newScenarioModelName));
     }
     newMetric = Metric.ElapsedTimeMilliseconds;
     return(true);
 }
示例#3
0
        /// <summary>
        /// Converts IterationResult into Benchview's IterationModel, remaping and filtering the metrics reported
        /// </summary>
        static IterationModel ConvertIterationResult(IterationResult iterationResult, Func <Metric, Metric> metricMapping)
        {
            IterationModel iterationModel = new IterationModel();

            iterationModel.Iteration = new Dictionary <string, double>();
            foreach (KeyValuePair <Metric, double> measurement in iterationResult.Measurements)
            {
                Metric finalMetric = metricMapping(measurement.Key);
                if (!finalMetric.Equals(default(Metric)))
                {
                    iterationModel.Iteration.Add(finalMetric.Name, measurement.Value);
                }
            }
            return(iterationModel);
        }