From 032f3688a2864a86227f76b070163ff9f677c02c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20R=C4=85czy?= Date: Fri, 14 Feb 2025 18:41:39 -0800 Subject: [PATCH] plotjuggler: opt-out log migration (#34587) * Option to migrate logs if needed * Opt-out migration * Remove late import --- tools/plotjuggler/juggle.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/plotjuggler/juggle.py b/tools/plotjuggler/juggle.py index 7ca5c3641e..925b0bdabe 100755 --- a/tools/plotjuggler/juggle.py +++ b/tools/plotjuggler/juggle.py @@ -13,6 +13,7 @@ from functools import partial from opendbc.car.fingerprints import MIGRATION from openpilot.common.basedir import BASEDIR from openpilot.tools.lib.logreader import LogReader, ReadMode, save_log +from openpilot.selfdrive.test.process_replay.migration import migrate_all juggle_dir = os.path.dirname(os.path.realpath(__file__)) @@ -76,10 +77,12 @@ def process(can, lr): return [d for d in lr if can or d.which() not in ['can', 'sendcan']] -def juggle_route(route_or_segment_name, can, layout, dbc=None): +def juggle_route(route_or_segment_name, can, layout, dbc, should_migrate): sr = LogReader(route_or_segment_name, default_mode=ReadMode.AUTO_INTERACTIVE) all_data = sr.run_across_segments(24, partial(process, can)) + if should_migrate: + all_data = migrate_all(all_data) # Infer DBC name from logs if dbc is None: @@ -105,6 +108,7 @@ if __name__ == "__main__": parser.add_argument("--demo", action="store_true", help="Use the demo route instead of providing one") parser.add_argument("--can", action="store_true", help="Parse CAN data") parser.add_argument("--stream", action="store_true", help="Start PlotJuggler in streaming mode") + parser.add_argument("--no-migration", action="store_true", help="Do not perform log migration") parser.add_argument("--layout", nargs='?', help="Run PlotJuggler with a pre-defined layout") parser.add_argument("--install", action="store_true", help="Install or update PlotJuggler + plugins") parser.add_argument("--dbc", help="Set the DBC name to load for parsing CAN data. If not set, the DBC will be automatically inferred from the logs.") @@ -131,4 +135,4 @@ if __name__ == "__main__": start_juggler(layout=args.layout) else: route_or_segment_name = DEMO_ROUTE if args.demo else args.route_or_segment_name.strip() - juggle_route(route_or_segment_name, args.can, args.layout, args.dbc) + juggle_route(route_or_segment_name, args.can, args.layout, args.dbc, not args.no_migration)