def plot_series(series_type, jobsets, ax=None, time_scale=False): ''' Plot one or several time series about provided jobsets on the given ax series_type can be any value present in available_series. ''' # Get current axe to plot if ax is None: ax = plt.gca() if series_type not in available_series: raise AttributeError( "The gieven attribute should be one of the folowing:" "{}".format(available_series)) if series_type == "waiting_time": series = {} for jobset_name in jobsets.keys(): jobset = jobsets[jobset_name] # create a serie series[jobset_name] = metrics.cumulative_waiting_time(jobset.df) if time_scale: series[jobset_name].index = pd.to_datetime( jobset.df['submission_time'] + jobset.df['waiting_time'], unit='s') # plot series for serie_name, serie in series.items(): serie.plot(ax=ax, label=serie_name, drawstyle="steps") else: raise RuntimeError('The serie \"{}\" is not implemeted yet') # Manage legend ax.legend() ax.set_title(series_type) ax.grid(True)
def plot_series(series_type, jobsets, ax=None, time_scale=False): ''' Plot one or several time series about provided jobsets on the given ax series_type can be any value present in available_series. ''' # Get current axe to plot if ax is None: ax = plt.gca() if series_type not in available_series: raise AttributeError( "The gieven attribute should be one of the folowing:" "{}".format(available_series)) if series_type == "waiting_time": series = {} for jobset_name in jobsets.keys(): jobset = jobsets[jobset_name] # create a serie series[jobset_name] = metrics.cumulative_waiting_time(jobset.df) if time_scale: series[jobset_name].index = pd.to_datetime( jobset.df['submission_time'] + jobset.df['waiting_time'], unit='s') # plot series for serie_name, serie in series.items(): serie.plot(ax=ax, label=serie_name, drawstyle="steps") else: raise RuntimeError('The serie \"{}\" is not implemeted yet') # Manage legend ax.legend(loc='upper left') ax.set_title(series_type) ax.grid(True)
def test_cumulative_waiting_time(self): from evalys.metrics import cumulative_waiting_time js_begin = evalys.JobSet.from_csv("./tests/test_frag_begin.csv") assert cumulative_waiting_time( js_begin.df).max() == 62.5 + 125.0 + 187.5
def test_cumulative_waiting_time(self): from evalys.metrics import cumulative_waiting_time js_begin = evalys.JobSet.from_csv("./tests/test_frag_begin.csv") assert cumulative_waiting_time(js_begin.df).max() == 62.5 + 125.0 + 187.5