Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
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