import argparse import yaml from xlap.parse import evaluate import xlap.analyse.jitter as jitter tasks = { "jitter": None } def parse_config(): contents = None with open("xlap.yml") as f: contents = f.read() return yaml.load(contents) def main(): config = parse_config() data_files = config["data_files"] parser = argparse.ArgumentParser() parser.add_argument("tasks", metavar="T", type=str, nargs="+", help="Analysis tasks to execute") parser.add_argument("-e", "--export", dest="export", action="store_true", default=False, help="Output pdf files.") args = parser.parse_args() for command in args.tasks: if command not in tasks.keys(): print("{} is not a known analysis task.".format(command)) continue df_data = evaluate(data_files["sender"], data_files["receiver"],kind=0) params = { "export": args.export} if command == "jitter": params1 = dict(params) params1.update({"file_name" : "TraceJitter.pdf"}) params2 = dict(params) params2.update({"file_name" : "JitterCauses.pdf"}) df = jitter.prep(df_data, config) jitter.trace_jitter(df, **params1) jitter.jitter_causes(df, **params2)