-
Notifications
You must be signed in to change notification settings - Fork 9.7k
tools: add --auto flag to replay and cabana for loading routes from auto source #34863
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
a8b7a54
to
bc5fb7e
Compare
dbe20a9
to
6010ac1
Compare
54f7a3d
to
4bffe85
Compare
could this instead be default behavior instead of behind a flag? |
I agree, can we replace the C++ implementation of finding sources with this? |
It's better to hide this feature behind a flag for now. While --auto offers a convenient option, it doesn’t replace the default route-loading behavior in replay&cabana. The current auto-sourcing implementation has significant limitations. It only loads rlogs and fails to manage non-contiguous segments, which undermines its compatibility with key replay and Cabana features. These require smooth transitions between rlog/qlog, HEVC/qcam, and reliable handling of segment gaps. Additionally, the auto-sourcing process is inefficient. It validates every source file with The --auto flag should be removed once these issues and limitations are resolved. |
Using /a handles missing rlogs in the middle of segments btw |
Getting
but I'm authenticated |
c89a391
to
bb93f9a
Compare
@sshane fixed. cabana use OPENPILOT_PREFIX to run multiple instances simultaneously. This was causing the path to auth.json to be prefixed, making it unreadable. |
79ff2dd
to
9e6c5a3
Compare
9e6c5a3
to
d9899e7
Compare
d9899e7
to
83f0e90
Compare
edeaff8
to
cdfa9ec
Compare
Tried it with a route from test_models:
|
This PR has had no activity for 9 days. It will be automatically closed in 2 days if there is no activity. |
cdfa9ec
to
2d37a29
Compare
I tested the command |
This PR has had no activity for 9 days. It will be automatically closed in 2 days if there is no activity. |
It works for me, can we merge? |
parser = ArgumentParser(description="Process a log file and print identifiers or full messages.") | ||
parser.add_argument("log_path", help="Path to the log file") | ||
parser.add_argument("--identifiers-only", action="store_true", help="Print only log identifiers") | ||
args = parser.parse_args() | ||
|
||
lr = LogReader(args.log_path, sort_by_time=True) | ||
if args.identifiers_only: | ||
print("\n".join(lr.logreader_identifiers)) | ||
else: | ||
for msg in lr: | ||
print(msg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make this a script inside cabana/? I don't like polluting this for something specific to Cabana.
I still think a Python cabana wrapper that passes opts into C++ Cabana might be simpler
ca7de97
to
2d37a29
Compare
This doesnt work for me, SegmentManager successfully loads the route, but cabana is stuck on "Loading segment data..." dialog |
Added the
--auto
flag tocabana
andreplay
, allowing routes to be loaded from the most suitable source based onlogreader.py
's auto-sourcing logic.Usage example for loading a specified route with auto-sourcing:
cabana --auto <route>
replay --auto <route>