Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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