count_events improvements

pull/24951/head
Adeeb Shihadeh 3 years ago
parent 221086857a
commit 1dffd48a2b
  1. 16
      selfdrive/debug/count_events.py

@ -1,8 +1,11 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import sys import sys
import math
import datetime
from collections import Counter from collections import Counter
from pprint import pprint from pprint import pprint
from tqdm import tqdm from tqdm import tqdm
from typing import cast
from cereal.services import service_list from cereal.services import service_list
from tools.lib.route import Route from tools.lib.route import Route
@ -17,6 +20,8 @@ if __name__ == "__main__":
cams = [s for s in service_list if s.endswith('CameraState')] cams = [s for s in service_list if s.endswith('CameraState')]
cnt_cameras = dict.fromkeys(cams, 0) cnt_cameras = dict.fromkeys(cams, 0)
start_time = math.inf
end_time = -math.inf
for q in tqdm(r.qlog_paths()): for q in tqdm(r.qlog_paths()):
if q is None: if q is None:
continue continue
@ -31,6 +36,10 @@ if __name__ == "__main__":
if not msg.valid: if not msg.valid:
cnt_valid[msg.which()] += 1 cnt_valid[msg.which()] += 1
end_time = max(end_time, msg.logMonoTime)
start_time = min(start_time, msg.logMonoTime)
duration = (end_time - start_time) / 1e9
print("Events") print("Events")
pprint(cnt_events) pprint(cnt_events)
@ -42,4 +51,9 @@ if __name__ == "__main__":
print("\n") print("\n")
print("Cameras") print("Cameras")
for k, v in cnt_cameras.items(): for k, v in cnt_cameras.items():
print(" ", k.ljust(20), v) s = service_list[k]
expected_frames = int(s.frequency * duration / cast(float, s.decimation))
print(" ", k.ljust(20), f"{v}, {v/expected_frames:.1%} of expected")
print("\n")
print("Route duration", datetime.timedelta(seconds=duration))

Loading…
Cancel
Save