@@ -579,6 +579,13 @@ async def finalize(self, report: GenerativeBenchmarksReport) -> Path:
579
579
benchmark_headers : list [str ] = []
580
580
benchmark_values : list [str | float | list [float ]] = []
581
581
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
+
582
589
# Add status-based metrics
583
590
for status in StatusDistributionSummary .model_fields :
584
591
status_headers , status_values = (
@@ -684,6 +691,21 @@ def _get_benchmark_status_metrics_stats(
684
691
]
685
692
return headers , values
686
693
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
+
687
709
688
710
@GenerativeBenchmarkerOutput .register ("html" )
689
711
class GenerativeBenchmarkerHTML (GenerativeBenchmarkerOutput ):
0 commit comments