Current section
Files
Jump to
Current section
Files
lib/benchee/formatters/csv/raw.ex
defmodule Benchee.Formatters.CSV.Raw do
@moduledoc """
Functionality for converting Benchee scenarios to raw csv.
"""
alias Benchee.Scenario
@doc false
def add_headers(measurements, scenarios) do
headers =
Enum.flat_map(scenarios, fn scenario ->
[
"#{scenario.name}#{input_part(scenario)} (Run Time Measurements)",
"#{scenario.name}#{input_part(scenario)} (Memory Usage Measurements)"
]
end)
[headers | measurements]
end
@doc false
def to_csv(scenario), do: [scenario.run_time_data.samples, scenario.memory_usage_data.samples]
@no_input Benchee.Benchmark.no_input()
defp input_part(%Scenario{input_name: nil}), do: ""
defp input_part(%Scenario{input_name: @no_input}), do: ""
defp input_part(%Scenario{input_name: name}), do: " with input #{name}"
end