@@ -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" ) 
689711class  GenerativeBenchmarkerHTML (GenerativeBenchmarkerOutput ):
0 commit comments