def do_full_analysis(self, db_obj): result_trace = self.load_trace(db_obj) first = True last = False for trace_id in self._definition._subtraces: last = trace_id == self._definition._subtraces[-1] result_trace.load_trace(db_obj, trace_id) result_trace.do_workflow_pre_processing(append=not first) one_definition = ExperimentDefinition() one_definition.load(db_obj, trace_id) result_trace.fill_job_values( start=one_definition.get_start_epoch(), stop=one_definition.get_end_epoch(), append=not first) result_trace.fill_workflow_values( start=one_definition.get_start_epoch(), stop=one_definition.get_end_epoch(), append=not first) result_trace.calculate_job_results_grouped_core_seconds( one_definition.get_machine().get_core_seconds_edges(), last, db_obj, self._definition._trace_id, start=one_definition.get_start_epoch(), stop=one_definition.get_end_epoch(), append=not first) first = False result_trace.calculate_and_store_job_results( store=True, db_obj=db_obj, trace_id=self._definition._trace_id) result_trace._wf_extractor.calculate_and_store_overall_results( store=True, db_obj=db_obj, trace_id=self._definition._trace_id) result_trace._wf_extractor.calculate_and_store_per_manifest_results( store=True, db_obj=db_obj, trace_id=self._definition._trace_id) result_trace.calculate_utilization_median_result( self._definition._subtraces, store=True, db_obj=db_obj, trace_id=self._definition._trace_id) result_trace.calculate_utilization_mean_result( self._definition._subtraces, store=True, db_obj=db_obj, trace_id=self._definition._trace_id) self._definition.mark_analysis_done(db_obj)
print("MAAAAX", the_max, the_max_id) return sched_gaps_stamp, sched_gaps sched_gaps_stamp, sched_gaps = get_sched_waits(trace_id) sched_gaps_stamp = [x - base_stamp for x in sched_gaps_stamp] value_dic_gap = {"gaps": sched_gaps} stamps_dic_gap = {"gaps": sched_gaps_stamp} name = "{0}-{1}".format(trace_id, exp._name) paintPlotMultiV2_axis("PL-Utilization\n{0}".format(name), stamp_dic, value_dic, dir=target_dir, graphFileName="PL-Utilization-{0}".format(name), xLim=(0,exp.get_end_epoch()-base_stamp), \ labelX="time", labelY="System share", \ logScale=False, trend=False, tickFrequence=None, hLines=[], \ xLogScale=False, alpha=1.0, legendLoc=0, \ fontSizeX=12, second_axis_series_dic=stamps_dic_gap, second_axis_values_dic=value_dic_gap) stamp_dic["Waiting work"] = waiting_ch_stamps value_dic["Waiting work"] = waiting_ch_values stamp_dic["Waiting requested work"] = waiting_ch_stamps value_dic["Waiting requested work"] = waiting_requested_ch_values