Skip to content

Commit bfc8e50

Browse files
committed
Complete CSV output
Signed-off-by: jaredoconnell <[email protected]>
1 parent 6d0d4c2 commit bfc8e50

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/guidellm/benchmark/output.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,13 @@ async def finalize(self, report: GenerativeBenchmarksReport) -> Path:
579579
benchmark_headers: list[str] = []
580580
benchmark_values: list[str | float | list[float]] = []
581581

582+
# Add basic run description info
583+
desc_headers, desc_values = (
584+
self._get_benchmark_desc_headers_and_values(benchmark)
585+
)
586+
benchmark_headers.extend(desc_headers)
587+
benchmark_values.extend(desc_values)
588+
582589
# Add status-based metrics
583590
for status in StatusDistributionSummary.model_fields:
584591
status_headers, status_values = (
@@ -684,6 +691,21 @@ def _get_benchmark_status_metrics_stats(
684691
]
685692
return headers, values
686693

694+
def _get_benchmark_extras_headers_and_values(
695+
self, benchmark: GenerativeBenchmark,
696+
) -> tuple[list[str], list[str]]:
697+
headers = ["Profile", "Backend", "Generator Data"]
698+
values: list[str] = [
699+
benchmark.benchmarker.profile.model_dump_json(),
700+
json.dumps(benchmark.benchmarker.backend),
701+
json.dumps(benchmark.benchmarker.requests["attributes"]["data"]),
702+
]
703+
704+
if len(headers) != len(values):
705+
raise ValueError("Headers and values length mismatch.")
706+
707+
return headers, values
708+
687709

688710
@GenerativeBenchmarkerOutput.register("html")
689711
class GenerativeBenchmarkerHTML(GenerativeBenchmarkerOutput):

0 commit comments

Comments
 (0)