module BenchmarkDriver::Runner::Recorded::JobParser

Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`

Public Class Methods

parse(job_warmup_context_result:, metrics:) click to toggle source

@param [Hash{ BenchmarkDriver::Job => Hash{ TrueClass,FalseClass => Hash{ BenchmarkDriver::Context => BenchmarkDriver::Result } } }] job_warmup_context_result @param [BenchmarkDriver::Metrics::Type] metrics

# File lib/benchmark_driver/runner/recorded.rb, line 20
def parse(job_warmup_context_result:, metrics:)
  job_warmup_context_result.map do |job, warmup_context_result|
    Job.new(
      name: job.name,
      warmup_results: warmup_context_result.fetch(true, {}),
      benchmark_results: warmup_context_result.fetch(false, {}),
      metrics: metrics,
      contexts: warmup_context_result.values.map(&:keys).flatten!.tap(&:uniq!),
    )
  end
end