@@ -899,7 +899,7 @@ def load_graph_data(plot_parameter, show_failures, limit, xaxis_date, revision_c
899899 # FIXME: Don't join to Order here, aggregate this across all the tests
900900 # we want to load. Actually, we should just make this a single query.
901901 values = session .query (plot_parameter .field .column , ts .Order ,
902- ts .Run .start_time , ts .Run .id ) \
902+ ts .Run .start_time , ts .Run .id , ts . Run . parameters_data ) \
903903 .select_from (ts .Sample ) \
904904 .join (ts .Run ).join (ts .Order ) \
905905 .filter (ts .Run .machine_id == plot_parameter .machine .id ) \
@@ -916,15 +916,15 @@ def load_graph_data(plot_parameter, show_failures, limit, xaxis_date, revision_c
916916 if xaxis_date :
917917 # Aggregate by date.
918918 data = list (multidict .multidict (
919- (date , (val , order , date , run_id ))
920- for val , order , date , run_id in values ).items ())
919+ (date , (val , order , date , run_id , parameters_data ))
920+ for val , order , date , run_id , parameters_data in values ).items ())
921921 # Sort data points according to date.
922922 data .sort (key = lambda sample : sample [0 ])
923923 else :
924924 # Aggregate by order (revision).
925925 data = list (multidict .multidict (
926- (order .llvm_project_revision , (val , order , date , run_id ))
927- for val , order , date , run_id in values ).items ())
926+ (order .llvm_project_revision , (val , order , date , run_id , parameters_data ))
927+ for val , order , date , run_id , parameters_data in values ).items ())
928928 # Sort data points according to order (revision).
929929 data .sort (key = lambda sample : convert_revision (sample [0 ], cache = revision_cache ))
930930
@@ -1194,7 +1194,9 @@ def trace_name(name, test_name, field_name):
11941194 # And the date on which they were taken.
11951195 dates = [data_array [2 ] for data_array in datapoints ]
11961196 # Run ID where this point was collected.
1197- run_ids = [data_array [3 ] for data_array in datapoints if len (data_array ) == 4 ]
1197+ run_ids = [data_array [3 ] for data_array in datapoints if len (data_array ) >= 4 ]
1198+ # Run parameters (JSON-encoded binary data)
1199+ run_parameters_list = [data_array [4 ] for data_array in datapoints if len (data_array ) >= 5 ]
11981200
11991201 values = [v * normalize_by for v in values ]
12001202
@@ -1224,6 +1226,13 @@ def trace_name(name, test_name, field_name):
12241226 "date" : str (dates [agg_index ])}
12251227 if run_ids :
12261228 point_metadata ["runID" ] = str (run_ids [agg_index ])
1229+
1230+ # Add run parameters to metadata if available
1231+ if run_parameters_list :
1232+ run_params = run_parameters_list [agg_index ]
1233+ if run_params :
1234+ point_metadata .update (json .loads (run_params .decode ('utf-8' )))
1235+
12271236 meta .append (point_metadata )
12281237
12291238 # Add the multisample points, if requested.
@@ -1235,6 +1244,13 @@ def trace_name(name, test_name, field_name):
12351244 "date" : str (dates [i ])}
12361245 if run_ids :
12371246 multisample_metadata ["runID" ] = str (run_ids [i ])
1247+
1248+ # Add run parameters to metadata if available
1249+ if run_parameters_list :
1250+ run_params = run_parameters_list [i ]
1251+ if run_params :
1252+ multisample_metadata .update (json .loads (run_params .decode ('utf-8' )))
1253+
12381254 multisample_points_data ["x" ].append (point_label )
12391255 multisample_points_data ["y" ].append (v )
12401256 multisample_points_data ["meta" ].append (multisample_metadata )
0 commit comments