def profile_memory_per_line( get_maximum, per_element, input_file, output_file, show_logs, entity_ids, config_file, ): from klio_exec.commands import profile config_path = config_file or "klio-job.yaml" config_data = _get_config(config_path) klio_config = config.KlioConfig(config_data) _require_profile_input_data(input_file, entity_ids) if not show_logs: logging.disable(logging.CRITICAL) klio_pipeline = profile.KlioPipeline( klio_config=klio_config, input_file=input_file, output_file=output_file, entity_ids=entity_ids, ) klio_pipeline.profile(what="memory_per_line", get_maximum=get_maximum)
def profile_cpu( interval, input_file, output_file, plot_graph, show_logs, entity_ids, config_file, ): from klio_exec.commands import profile config_path = config_file or "klio-job.yaml" config_data = _get_config(config_path) klio_config = config.KlioConfig(config_data) _require_profile_input_data(input_file, entity_ids) klio_pipeline = profile.KlioPipeline( klio_config=klio_config, input_file=input_file, output_file=output_file, entity_ids=entity_ids, ) kwargs = { "interval": interval, "show_logs": show_logs, "plot_graph": plot_graph, } output_png = klio_pipeline.profile(what="cpu", **kwargs) if output_png: click.echo("CPU plot graph generated at: {}".format(output_png))
def _run_pipeline(input_file, show_logs, entity_ids, config_file): from klio_exec.commands import profile config_path = config_file or "klio-job.yaml" config_data = _get_config(config_path) klio_config = config.KlioConfig(config_data) # safety check, even though it should be invoked by another klioexec # command _require_profile_input_data(input_file, entity_ids) if not show_logs: logging.disable(logging.CRITICAL) klio_pipeline = profile.KlioPipeline(klio_config=klio_config, input_file=input_file, entity_ids=entity_ids) klio_pipeline.profile(what="run")
def profile_wall_time(input_file, output_file, iterations, show_logs, entity_ids, config_file): from klio_exec.commands import profile config_path = config_file or "klio-job.yaml" config_data = _get_config(config_path) klio_config = config.KlioConfig(config_data) _require_profile_input_data(input_file, entity_ids) if not show_logs: logging.disable(logging.CRITICAL) klio_pipeline = profile.KlioPipeline( klio_config=klio_config, input_file=input_file, output_file=output_file, entity_ids=entity_ids, ) klio_pipeline.profile(what="timeit", iterations=iterations)
def klio_pipeline(config): return profile_cmd.KlioPipeline(config)