def plot(self, fs=None, dst=None): """ Creates timeline and histogram of the current execution in dst_dir. :param dst_dir: destination folder to save .png plots. :param dst_file_name: prefix name of the file. :param fs: list of futures. """ ftrs = self.futures if not fs else fs if type(ftrs) != list: ftrs = [ftrs] ftrs_to_plot = [ f for f in ftrs if (f.success or f.done) and not f.error ] if not ftrs_to_plot: logger.debug('ExecutorID {} - No futures ready to plot'.format( self.executor_id)) return logging.getLogger('matplotlib').setLevel(logging.WARNING) from lithops.plots import create_timeline, create_histogram logger.info('ExecutorID {} - Creating execution plots'.format( self.executor_id)) create_timeline(ftrs_to_plot, dst) create_histogram(ftrs_to_plot, dst)
def plot(self, fs: Optional[Union[ResponseFuture, List[ResponseFuture], FuturesList]] = None, dst: Optional[str] = None): """ Creates timeline and histogram of the current execution in dst_dir. :param fs: list of futures. :param dst: destination path to save .png plots. """ ftrs = self.futures if not fs else fs if isinstance(ftrs, ResponseFuture): ftrs = [ftrs] ftrs_to_plot = [ f for f in ftrs if (f.success or f.done) and not f.error ] if not ftrs_to_plot: logger.debug( f'ExecutorID {self.executor_id} - No futures ready to plot') return logging.getLogger('matplotlib').setLevel(logging.WARNING) from lithops.plots import create_timeline, create_histogram logger.info( f'ExecutorID {self.executor_id} - Creating execution plots') create_timeline(ftrs_to_plot, dst) create_histogram(ftrs_to_plot, dst)