public IEnumerable <Metric> ProcessResults(DiagnoserResults diagnoserResults)
 {
     if (results.TryGetValue(diagnoserResults.BenchmarkCase, out var disassemblyResult))
     {
         yield return(new Metric(NativeCodeSizeMetricDescriptor.Instance, SumNativeCodeSize(disassemblyResult)));
     }
 }
Example #2
0
        public IEnumerable <Metric> ProcessResults(DiagnoserResults diagnoserResults)
        {
            yield return(new Metric(GarbageCollectionsMetricDescriptor.Gen0, diagnoserResults.GcStats.Gen0Collections / (double)diagnoserResults.GcStats.TotalOperations * 1000));

            yield return(new Metric(GarbageCollectionsMetricDescriptor.Gen1, diagnoserResults.GcStats.Gen1Collections / (double)diagnoserResults.GcStats.TotalOperations * 1000));

            yield return(new Metric(GarbageCollectionsMetricDescriptor.Gen2, diagnoserResults.GcStats.Gen2Collections / (double)diagnoserResults.GcStats.TotalOperations * 1000));

            yield return(new Metric(AllocatedMemoryMetricDescriptor.Instance, diagnoserResults.GcStats.BytesAllocatedPerOperation));
        }
Example #3
0
        public IEnumerable <Metric> ProcessResults(DiagnoserResults results)
        {
            Task.WaitAll(collectingTask);

            if (benchmarkToTraceFile.TryGetValue(results.BenchmarkCase, out var traceFilePath))
            {
                benchmarkToTraceFile[results.BenchmarkCase] = SpeedScopeExporter.Convert(traceFilePath, results.BenchmarkCase.Config.GetCompositeLogger());
            }

            return(Array.Empty <Metric>());
        }
Example #4
0
 public IEnumerable <Metric> ProcessResults(DiagnoserResults _) => Array.Empty <Metric>();
Example #5
0
 public void ProcessResults(DiagnoserResults results)
 => diagnosers.ForEach(diagnoser => diagnoser.ProcessResults(results));
Example #6
0
 public void ProcessResults(DiagnoserResults results)
 => this.results.Add(results.Benchmark, results.GcStats);
Example #7
0
 public void ProcessResults(DiagnoserResults _)
 {
 }
Example #8
0
        public IEnumerable <Metric> ProcessResults(DiagnoserResults results)
        {
            yield return(new Metric(CompletedWorkItemCountMetricDescriptor.Instance, results.ThreadingStats.CompletedWorkItemCount / (double)results.ThreadingStats.TotalOperations));

            yield return(new Metric(LockContentionCountMetricDescriptor.Instance, results.ThreadingStats.LockContentionCount / (double)results.ThreadingStats.TotalOperations));
        }
Example #9
0
 public void ProcessResults(DiagnoserResults diagnoserResults)
 => results.Add(diagnoserResults.BenchmarkCase, diagnoserResults.GcStats);
Example #10
0
 public IEnumerable <Metric> ProcessResults(DiagnoserResults results)
 => diagnosers.SelectMany(diagnoser => diagnoser.ProcessResults(results));