Skip to content

Commit 0d8c8bf

Browse files
committed
Complete CSV output
Signed-off-by: jaredoconnell <[email protected]>
1 parent 61943e4 commit 0d8c8bf

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
@@ -578,6 +578,13 @@ async def finalize(self, report: GenerativeBenchmarksReport) -> Path:
578578
benchmark_headers: list[str] = []
579579
benchmark_values: list[str | float | list[float]] = []
580580

581+
# Add basic run description info
582+
desc_headers, desc_values = (
583+
self._get_benchmark_desc_headers_and_values(benchmark)
584+
)
585+
benchmark_headers.extend(desc_headers)
586+
benchmark_values.extend(desc_values)
587+
581588
# Add status-based metrics
582589
for status in StatusDistributionSummary.model_fields:
583590
status_headers, status_values = (
@@ -680,6 +687,21 @@ def _get_benchmark_status_metrics_stats(
680687
]
681688
return headers, values
682689

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

684706
@GenerativeBenchmarkerOutput.register("html")
685707
class GenerativeBenchmarkerHTML(GenerativeBenchmarkerOutput):

0 commit comments

Comments
 (0)