@@ -56,26 +56,26 @@ def parse_k6_summary(filepath):
5656 return metrics
5757
5858
59- def find_result_files (results_dir , num_runs , scale_factor = None ):
59+ def find_result_files (results_dir , num_runs , warehouses = None ):
6060 """Find stroppy JSON result files in the download directory.
6161
6262 stroppy-action artifacts are downloaded as:
63- results-dir/perf-results-{branch}-sf{SF} -{N}/stroppy-results.json
64- If scale_factor is given, only match directories containing that sf .
63+ results-dir/perf-results-{branch}-{W}W -{N}/stroppy-results.json
64+ If warehouses is given, only match directories containing that tag .
6565 """
6666 pattern = os .path .join (results_dir , "**" , "stroppy-results.json" )
6767 files = sorted (glob .glob (pattern , recursive = True ))
6868 if not files :
6969 files = sorted (glob .glob (os .path .join (results_dir , "*.json" )))
70- if scale_factor is not None :
71- sf_tag = f"-sf { scale_factor } -"
72- files = [f for f in files if sf_tag in f ]
70+ if warehouses is not None :
71+ wh_tag = f"-{ warehouses } W -"
72+ files = [f for f in files if wh_tag in f ]
7373 return files [:num_runs ]
7474
7575
76- def load_run_results (results_dir , num_runs , scale_factor = None ):
76+ def load_run_results (results_dir , num_runs , warehouses = None ):
7777 """Load and parse all result files from a results directory."""
78- files = find_result_files (results_dir , num_runs , scale_factor )
78+ files = find_result_files (results_dir , num_runs , warehouses )
7979 all_metrics = []
8080 for filepath in files :
8181 print (f"Parsing: { filepath } " , file = sys .stderr )
@@ -180,7 +180,8 @@ def generate_markdown(base_medians, head_medians, config):
180180 lines .append ("" )
181181 lines .append (
182182 f"**Config**: { config ['runs' ]} runs, { config ['duration' ]} each, "
183- f"scale_factor={ config ['scale_factor' ]} "
183+ f"warehouses={ config ['warehouses' ]} , vus_scale={ config ['vus_scale' ]} , "
184+ f"pool_size={ config ['pool_size' ]} "
184185 )
185186 lines .append ("" )
186187
@@ -193,23 +194,27 @@ def main():
193194 parser .add_argument ("--head-dir" , required = True , help = "Directory with head branch results" )
194195 parser .add_argument ("--runs" , type = int , default = 5 , help = "Number of benchmark runs" )
195196 parser .add_argument ("--duration" , default = "10m" , help = "Duration per run" )
196- parser .add_argument ("--scale-factor" , default = "1" ,
197- help = "TPC-C scale factor (comma-separated for multiple)" )
197+ parser .add_argument ("--warehouses" , default = "1" ,
198+ help = "Number of warehouses (comma-separated for multiple)" )
199+ parser .add_argument ("--vus-scale" , default = "1" ,
200+ help = "VU scale multiplier" )
201+ parser .add_argument ("--pool-size" , default = "100" ,
202+ help = "Connection pool size" )
198203 parser .add_argument ("--output" , default = "comment.md" , help = "Output markdown file" )
199204 args = parser .parse_args ()
200205
201- scale_factors = [s .strip () for s in args .scale_factor .split ("," )]
206+ warehouse_list = [s .strip () for s in args .warehouses .split ("," )]
202207 sections = []
203208
204- for sf in scale_factors :
205- base_metrics = load_run_results (args .base_dir , args .runs , scale_factor = sf )
206- head_metrics = load_run_results (args .head_dir , args .runs , scale_factor = sf )
209+ for wh in warehouse_list :
210+ base_metrics = load_run_results (args .base_dir , args .runs , warehouses = wh )
211+ head_metrics = load_run_results (args .head_dir , args .runs , warehouses = wh )
207212
208213 if not base_metrics :
209- print (f"Error: no base branch results found for scale_factor= { sf } " , file = sys .stderr )
214+ print (f"Error: no base branch results found for warehouses= { wh } " , file = sys .stderr )
210215 sys .exit (1 )
211216 if not head_metrics :
212- print (f"Error: no head branch results found for scale_factor= { sf } " , file = sys .stderr )
217+ print (f"Error: no head branch results found for warehouses= { wh } " , file = sys .stderr )
213218 sys .exit (1 )
214219
215220 base_medians = compute_medians (base_metrics )
@@ -218,7 +223,9 @@ def main():
218223 config = {
219224 "runs" : args .runs ,
220225 "duration" : args .duration ,
221- "scale_factor" : sf ,
226+ "warehouses" : wh ,
227+ "vus_scale" : args .vus_scale ,
228+ "pool_size" : args .pool_size ,
222229 }
223230
224231 sections .append (generate_markdown (base_medians , head_medians , config ))
0 commit comments