@@ -103,6 +103,14 @@ def main():
103103
104104 loader = Loader (args .input , args .version )
105105 exporter = ResultExporter (args .csv , config )
106+ results = {}
107+ systems = {}
108+ for division in ["closed" , "open" , "network" ]:
109+ systems [division ] = {}
110+ systems [division ]["power" ] = {}
111+ systems [division ]["non_power" ] = {}
112+
113+ # Main loop over all the submissions
106114 for logs in loader .load ():
107115 # Initialize check classes
108116 performance_checks = PerformanceCheck (log , logs .loader_data ["perf_path" ], config , logs )
@@ -120,12 +128,28 @@ def main():
120128 valid &= power_checks ()
121129 # Add results to summary
122130 if valid :
131+ # Results dictionary
132+ results [logs .loader_data .get ("perf_path" )] = logs .loader_data .get ("performance_metric" )
133+ # System dictionary
134+ system_id = logs .loader_data .get ("system" )
135+ if os .path .exists (logs .loader_data .get ("power_dir_path" , "" )):
136+ if system_id in systems [logs .loader_data .get ("division" )]["power" ]:
137+ systems [logs .loader_data .get ("division" )]["power" ][system_id ] += 1
138+ else :
139+ systems [logs .loader_data .get ("division" )]["power" ][system_id ] = 1
140+ else :
141+ if system_id in systems [logs .loader_data .get ("division" )]["non_power" ]:
142+ systems [logs .loader_data .get ("division" )]["non_power" ][system_id ] += 1
143+ else :
144+ systems [logs .loader_data .get ("division" )]["non_power" ][system_id ] = 1
145+ # CSV exporter
123146 exporter .add_result (logs )
147+ else :
148+ results [logs .loader_data .get ("perf_path" )] = None
124149 # Export results
125150 exporter .export ()
126151
127152 # log results
128- results = {}
129153 log .info ("---" )
130154 with_results = 0
131155 for k , v in sorted (results .items ()):
@@ -138,51 +162,134 @@ def main():
138162 log .error ("NoResults %s" , k )
139163
140164
165+ closed_systems = systems .get ("closed" , {})
166+ open_systems = systems .get ("open" , {})
167+ network_systems = systems .get ("network" , {})
168+ closed_power_systems = closed_systems .get ("power" , {})
169+ closed_non_power_systems = closed_systems .get ("non_power" , {})
170+ open_power_systems = open_systems .get ("power" , {})
171+ open_non_power_systems = open_systems .get ("non_power" , {})
172+ network_power_systems = network_systems .get ("power" , {})
173+ network_non_power_systems = network_systems .get ("non_power" , {})
174+
175+ number_closed_power_systems = len (closed_power_systems )
176+ number_closed_non_power_systems = len (closed_non_power_systems )
177+ number_closed_systems = (
178+ number_closed_power_systems + number_closed_non_power_systems
179+ )
180+ number_open_power_systems = len (open_power_systems )
181+ number_open_non_power_systems = len (open_non_power_systems )
182+ number_open_systems = number_open_power_systems + number_open_non_power_systems
183+ number_network_power_systems = len (network_power_systems )
184+ number_network_non_power_systems = len (network_non_power_systems )
185+ number_network_systems = (
186+ number_network_power_systems + number_network_non_power_systems
187+ )
188+
189+ def merge_two_dict (x , y ):
190+ z = x .copy ()
191+ for key in y :
192+ if key not in z :
193+ z [key ] = y [key ]
194+ else :
195+ z [key ] += y [key ]
196+ return z
197+
198+ # systems can be repeating in open, closed and network
199+ unique_closed_systems = merge_two_dict (
200+ closed_power_systems , closed_non_power_systems
201+ )
202+ unique_open_systems = merge_two_dict (
203+ open_power_systems , open_non_power_systems )
204+ unique_network_systems = merge_two_dict (
205+ network_power_systems , network_non_power_systems
206+ )
207+
208+ unique_systems = merge_two_dict (unique_closed_systems , unique_open_systems )
209+ unique_systems = merge_two_dict (unique_systems , unique_network_systems )
210+
211+ # power systems can be repeating in open, closed and network
212+ unique_power_systems = merge_two_dict (
213+ closed_power_systems , open_power_systems )
214+ unique_power_systems = merge_two_dict (
215+ unique_power_systems , network_power_systems )
216+
217+ number_systems = len (unique_systems )
218+ number_power_systems = len (unique_power_systems )
219+
220+ # Counting the number of closed,open and network results
221+ def sum_dict_values (x ):
222+ count = 0
223+ for key in x :
224+ count += x [key ]
225+ return count
226+
227+ count_closed_power_results = sum_dict_values (closed_power_systems )
228+ count_closed_non_power_results = sum_dict_values (closed_non_power_systems )
229+ count_closed_results = count_closed_power_results + count_closed_non_power_results
230+
231+ count_open_power_results = sum_dict_values (open_power_systems )
232+ count_open_non_power_results = sum_dict_values (open_non_power_systems )
233+ count_open_results = count_open_power_results + count_open_non_power_results
234+
235+ count_network_power_results = sum_dict_values (network_power_systems )
236+ count_network_non_power_results = sum_dict_values (
237+ network_non_power_systems )
238+ count_network_results = (
239+ count_network_power_results + count_network_non_power_results
240+ )
241+
242+ count_power_results = (
243+ count_closed_power_results
244+ + count_open_power_results
245+ + count_network_power_results
246+ )
247+
141248 # print summary
142249 log .info ("---" )
143250 log .info (
144251 "Results=%d, NoResults=%d, Power Results=%d" ,
145252 with_results ,
146253 len (results ) - with_results ,
147- 0 ,
254+ count_power_results ,
148255 )
149256
150257 log .info ("---" )
151258 log .info (
152259 "Closed Results=%d, Closed Power Results=%d\n " ,
153- 0 ,
154- 0 ,
260+ count_closed_results ,
261+ count_closed_power_results ,
155262 )
156263 log .info (
157264 "Open Results=%d, Open Power Results=%d\n " ,
158- 0 ,
159- 0 ,
265+ count_open_results ,
266+ count_open_power_results ,
160267 )
161268 log .info (
162269 "Network Results=%d, Network Power Results=%d\n " ,
163- 0 ,
164- 0 ,
270+ count_network_results ,
271+ count_network_power_results ,
165272 )
166273 log .info ("---" )
167274
168275 log .info (
169276 "Systems=%d, Power Systems=%d" ,
170- 0 ,
171- 0 )
277+ number_systems ,
278+ number_power_systems )
172279 log .info (
173280 "Closed Systems=%d, Closed Power Systems=%d" ,
174- 0 ,
175- 0 ,
281+ number_closed_systems ,
282+ number_closed_power_systems ,
176283 )
177284 log .info (
178285 "Open Systems=%d, Open Power Systems=%d" ,
179- 0 ,
180- 0 ,
286+ number_open_systems ,
287+ number_open_power_systems ,
181288 )
182289 log .info (
183290 "Network Systems=%d, Network Power Systems=%d" ,
184- 0 ,
185- 0 ,
291+ number_network_systems ,
292+ number_network_power_systems ,
186293 )
187294 log .info ("---" )
188295 if len (results ) != with_results :
0 commit comments