Class BenchmarkResultProcessor

java.lang.Object
de.cuioss.benchmarking.common.runner.BenchmarkResultProcessor

public class BenchmarkResultProcessor extends Object
Processes JMH benchmark results to generate all required artifacts during execution.

This processor handles the complete pipeline from raw JMH results to deployment-ready artifacts including badges, reports, metrics, and GitHub Pages structure.

Generated artifacts:

  • Performance badges (shields.io compatible JSON)
  • Trend analysis badges
  • Self-contained HTML reports
  • Structured metrics in JSON format
  • GitHub Pages deployment structure
  • Constructor Details

    • BenchmarkResultProcessor

      public BenchmarkResultProcessor(BenchmarkType benchmarkType)
      Creates a processor for the specified benchmark type.
      Parameters:
      benchmarkType - the type of benchmarks being processed
    • BenchmarkResultProcessor

      public BenchmarkResultProcessor(BenchmarkType benchmarkType, ReportConfiguration reportConfig)
      Creates a processor with full report configuration including configured benchmark names.
      Parameters:
      benchmarkType - the type of benchmarks being processed
      reportConfig - the report configuration with benchmark names (may be null)
  • Method Details

    • processResults

      public void processResults(Collection<org.openjdk.jmh.results.RunResult> results, String outputDir) throws IOException
      Processes benchmark results to generate all artifacts.
      Parameters:
      results - the JMH benchmark results (still needed for some generators)
      outputDir - the output directory for generated artifacts
      Throws:
      IOException - if file operations fail