private void BenchmarkIterationStop(BenchmarkIterationStopArgs args) { if (args.RunId != _runid) return; if (_currentTestCase != args.BenchmarkName || _currentIteration != args.Iteration) throw new InvalidOperationException(); var evaluators = _evaluators.GetOrDefault(_currentTestCase); if (evaluators != null) { var allValues = _metricValues.GetOrAdd(_currentTestCase); while (allValues.Count < args.Iteration) allValues.Add(null); var values = new Dictionary<string, double>(); allValues.Add(values); foreach (var evaluator in _evaluators[_currentTestCase]) values[evaluator.Key.Id] = evaluator.Value.EndIteration(args); } _currentTestCase = null; _currentProcesses.Clear(); }
private void BenchmarkIterationStop(BenchmarkIterationStopArgs args) { if (args.RunId != _runid) return; if (_currentTestCase != args.BenchmarkName || _currentIteration != args.Iteration) throw new InvalidOperationException(); string scenarioName = $"{args.BenchmarkName} Iteration {args.Iteration.ToString()}"; double scenarioStopTime = args.TimeStampRelativeMSec; _currentScenarioRange.ScenarioStopTime = scenarioStopTime; _scenarioRanges.Add(_currentScenarioRange); var evaluators = _evaluators.GetOrDefault(_currentTestCase); if (evaluators != null) { var allValues = _metricValues.GetOrAdd(_currentTestCase); while (allValues.Count < args.Iteration) allValues.Add(null); var values = new Dictionary<string, Object>(); allValues.Add(values); foreach (var evaluator in _evaluators[_currentTestCase]) values[evaluator.Key.Id] = evaluator.Value.EndIteration(args); } _currentTestCase = null; _currentProcesses.Clear(); _currentThread = null; }