def _get_workflow_summary_times(self, workflow): statistics = {} workflow_states_list = workflow.get_workflow_states() wall_time = stats_utils.get_workflow_wall_time(workflow_states_list) if wall_time != None: wall_time = float(wall_time) cum_time = workflow.get_workflow_cum_job_wall_time() cum_time = [float(v) if v is not None else v for v in cum_time] # if cum_time != None: # cum_time = float(cum_time) job_cum_time = workflow.get_submit_side_job_wall_time() job_cum_time = [float(v) if v is not None else v for v in job_cum_time] # if job_cum_time != None: # job_cum_time = float(job_cum_time) statistics["wall-time"] = wall_time statistics["cum-time"] = cum_time[0] statistics["cum-badput-time"] = cum_time[2] statistics["job-cum-time"] = job_cum_time[0] statistics["job-cum-badput-time"] = job_cum_time[2] return statistics
def _get_workflow_summary_times(self, workflow): statistics = {} workflow_states_list = workflow.get_workflow_states() wall_time = stats_utils.get_workflow_wall_time(workflow_states_list) if wall_time != None: wall_time = float(wall_time) cum_time = workflow.get_workflow_cum_job_wall_time() cum_time = [float(v) if v is not None else v for v in cum_time] #if cum_time != None: # cum_time = float(cum_time) job_cum_time = workflow.get_submit_side_job_wall_time() job_cum_time = [float(v) if v is not None else v for v in job_cum_time] #if job_cum_time != None: # job_cum_time = float(job_cum_time) statistics['wall-time'] = wall_time statistics['cum-time'] = cum_time[0] statistics['cum-badput-time'] = cum_time[2] statistics['job-cum-time'] = job_cum_time[0] statistics['job-cum-badput-time'] = job_cum_time[2] return statistics
def _get_workflow_summary_times(self, workflow): statistics = {} workflow_states_list = workflow.get_workflow_states() wall_time = stats_utils.get_workflow_wall_time(workflow_states_list) if wall_time != None: wall_time = float(wall_time) cum_time = workflow.get_workflow_cum_job_wall_time() if cum_time != None: cum_time = float(cum_time) job_cum_time = workflow.get_submit_side_job_wall_time() if job_cum_time != None: job_cum_time = float(job_cum_time) statistics['wall-time'] = wall_time statistics['cum-time'] = cum_time statistics['job-cum-time'] = job_cum_time return statistics
def print_workflow_summary(workflow_stats ): """ Prints the workflow statistics summary of an top level workflow @param workflow_stats : workflow statistics object reference """ # status workflow_stats.set_job_filter('nonsub') # Tasks total_tasks = workflow_stats.get_total_tasks_status() total_succeeded_tasks = workflow_stats.get_total_succeeded_tasks_status() total_failed_tasks = workflow_stats.get_total_failed_tasks_status() total_unsubmitted_tasks = total_tasks -(total_succeeded_tasks + total_failed_tasks) total_task_retries = workflow_stats.get_total_tasks_retries() total_invocations = total_succeeded_tasks + total_failed_tasks + total_task_retries # Jobs total_jobs = workflow_stats.get_total_jobs_status() total_succeeded_jobs = workflow_stats.get_total_succeeded_jobs_status() total_failed_jobs = workflow_stats.get_total_failed_jobs_status() total_unsubmitted_jobs = total_jobs - (total_succeeded_jobs + total_failed_jobs ) total_job_retries = workflow_stats.get_total_jobs_retries() total_job_instance_retries = total_succeeded_jobs + total_failed_jobs + total_job_retries # Sub workflows workflow_stats.set_job_filter('subwf') total_sub_wfs = workflow_stats.get_total_jobs_status() total_succeeded_sub_wfs = workflow_stats.get_total_succeeded_jobs_status() total_failed_sub_wfs = workflow_stats.get_total_failed_jobs_status() total_unsubmitted_sub_wfs = total_sub_wfs - (total_succeeded_sub_wfs + total_failed_sub_wfs) total_sub_wfs_retries = workflow_stats.get_total_jobs_retries() total_sub_wfs_tries = total_succeeded_sub_wfs + total_failed_sub_wfs + total_sub_wfs_retries # tasks summary_str = "" summary_str += "total_succeeded_tasks: " + convert_to_str(total_succeeded_tasks) summary_str += NEW_LINE_STR summary_str += "total_failed_tasks: " + convert_to_str(total_failed_tasks) summary_str += NEW_LINE_STR summary_str += "total_unsubmitted_tasks: " + convert_to_str(total_unsubmitted_tasks) summary_str += NEW_LINE_STR summary_str += "total_tasks: " + convert_to_str(total_tasks) summary_str += NEW_LINE_STR summary_str += "total_task_retries: " + convert_to_str(total_task_retries) summary_str += NEW_LINE_STR summary_str += "total_invocations: " + convert_to_str(total_invocations) summary_str += NEW_LINE_STR summary_str += "total_succeeded_jobs: " + convert_to_str(total_succeeded_jobs) summary_str += NEW_LINE_STR summary_str += "total_failed_jobs: " + convert_to_str(total_failed_jobs) summary_str += NEW_LINE_STR summary_str += "total_unsubmitted_jobs: " + convert_to_str(total_unsubmitted_jobs) summary_str += NEW_LINE_STR summary_str += "total_jobs:" + convert_to_str(total_jobs) summary_str += NEW_LINE_STR summary_str += "total_job_retries: " + str(total_job_retries) summary_str += NEW_LINE_STR summary_str += "total_job_instance_retries:" + convert_to_str(total_job_instance_retries) summary_str += NEW_LINE_STR summary_str += "total_succeeded_sub_wfs: " + convert_to_str(total_succeeded_sub_wfs) summary_str += NEW_LINE_STR summary_str += "total_failed_sub_wfs: " + convert_to_str(total_failed_sub_wfs) summary_str += NEW_LINE_STR summary_str += "total_unsubmitted_sub_wfs: " + convert_to_str(total_unsubmitted_sub_wfs) summary_str += NEW_LINE_STR summary_str += "total_sub_wfs: " + convert_to_str(total_sub_wfs) summary_str += NEW_LINE_STR summary_str += "total_sub_wfs_retries: " + str(total_sub_wfs_retries) summary_str += NEW_LINE_STR summary_str += "total_sub_wfs_tries: " + convert_to_str(total_sub_wfs_tries) summary_str += NEW_LINE_STR workflow_states_list = workflow_stats.get_workflow_states() workflow_wall_time = stats_utils.get_workflow_wall_time(workflow_states_list) if workflow_wall_time is None: summary_str += "workflow_runtime: -" else: summary_str += "workflow_runtime: %-20s (total %d seconds)" % \ (format_seconds(workflow_wall_time), (workflow_wall_time)) summary_str += NEW_LINE_STR workflow_cum_job_wall_time = workflow_stats.get_workflow_cum_job_wall_time()[0] if workflow_cum_job_wall_time is None: summary_str += "cumulative_workflow_runtime_kickstart: -" else: summary_str += "cumulative_workflow_runtime_kickstart: %-20s (total %d seconds)" % \ (format_seconds(workflow_cum_job_wall_time),workflow_cum_job_wall_time) summary_str += NEW_LINE_STR submit_side_job_wall_time = workflow_stats.get_submit_side_job_wall_time()[0] if submit_side_job_wall_time is None: summary_str += "cumulative_workflow_runtime_dagman: -" else: summary_str += "cumulative_workflow_runtime_dagman: %-20s (total %d seconds)" % \ (format_seconds(submit_side_job_wall_time), submit_side_job_wall_time) return summary_str