diff --git a/tracetools_analysis/convert.py b/tracetools_analysis/convert.py index d3539cc..e246b7c 100644 --- a/tracetools_analysis/convert.py +++ b/tracetools_analysis/convert.py @@ -2,19 +2,22 @@ # Entrypoint/script to convert CTF trace data to a pickle file # TODO +import argparse from pickle import Pickler -import sys from tracetools_analysis.conversion import ctf -def main(argv=sys.argv): - if len(argv) != 3: - print('usage: /trace/directory pickle_target_file') - exit(1) +def main(): + parser = argparse.ArgumentParser(description='Convert CTF trace data to a pickle file.') + parser.add_argument('trace_directory', + help='the path to the main CTF trace directory') + parser.add_argument('pickle_file', + help='the target pickle file to generate') + args = parser.parse_args() - trace_directory = sys.argv[1] - pickle_target_file = sys.argv[2] + trace_directory = args.trace_directory + pickle_target_file = args.pickle_file with open(pickle_target_file, 'wb') as f: p = Pickler(f, protocol=4) diff --git a/tracetools_analysis/process.py b/tracetools_analysis/process.py index 6335e53..5942da4 100644 --- a/tracetools_analysis/process.py +++ b/tracetools_analysis/process.py @@ -1,18 +1,19 @@ #!/usr/bin/env python3 # Entrypoint/script to process events from a pickle file to build a ROS model +import argparse import pickle -import sys from tracetools_analysis.analysis import ros_processor, to_pandas -def main(argv=sys.argv): - if len(argv) != 2: - print('usage: pickle_file') - exit(1) +def main(): + parser = argparse.ArgumentParser(description='Process a pickle file generated from tracing and analyze the data.') + parser.add_argument('pickle_file', + help='the pickle file to import') + args = parser.parse_args() - pickle_filename = sys.argv[1] + pickle_filename = args.pickle_file with open(pickle_filename, 'rb') as f: events = _get_events_from_pickled_file(f) print(f'imported {len(events)} events')