check_lag.py 558 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env python3
  2. from typing import Dict
  3. import cereal.messaging as messaging
  4. from cereal.services import service_list
  5. TO_CHECK = ['carState']
  6. if __name__ == "__main__":
  7. sm = messaging.SubMaster(TO_CHECK)
  8. prev_t: Dict[str, float] = {}
  9. while True:
  10. sm.update()
  11. for s in TO_CHECK:
  12. if sm.updated[s]:
  13. t = sm.logMonoTime[s] / 1e9
  14. if s in prev_t:
  15. expected = 1.0 / (service_list[s].frequency)
  16. dt = t - prev_t[s]
  17. if dt > 10 * expected:
  18. print(t, s, dt)
  19. prev_t[s] = t