parent
1093a4ac82
commit
20a44bb4e9
1 changed files with 21 additions and 10 deletions
@ -1,25 +1,36 @@ |
|||||||
#!/usr/bin/env python3 |
#!/usr/bin/env python3 |
||||||
|
|
||||||
import sys |
import sys |
||||||
import time |
import time |
||||||
import numpy as np |
import numpy as np |
||||||
|
import datetime |
||||||
from collections.abc import MutableSequence |
from collections.abc import MutableSequence |
||||||
from collections import defaultdict, deque |
from collections import defaultdict |
||||||
|
|
||||||
import cereal.messaging as messaging |
import cereal.messaging as messaging |
||||||
|
|
||||||
socks = {s: messaging.sub_sock(s, conflate=False) for s in sys.argv[1:]} |
|
||||||
ts: defaultdict[str, MutableSequence[float]] = defaultdict(lambda: deque(maxlen=100)) |
|
||||||
|
|
||||||
if __name__ == "__main__": |
if __name__ == "__main__": |
||||||
while True: |
ts: defaultdict[str, MutableSequence[float]] = defaultdict(list) |
||||||
print() |
socks = {s: messaging.sub_sock(s, conflate=False) for s in sys.argv[1:]} |
||||||
|
try: |
||||||
|
st = time.monotonic() |
||||||
|
while True: |
||||||
|
print() |
||||||
|
for s, sock in socks.items(): |
||||||
|
msgs = messaging.drain_sock(sock) |
||||||
|
for m in msgs: |
||||||
|
ts[s].append(m.logMonoTime / 1e6) |
||||||
|
|
||||||
|
if len(ts[s]) > 2: |
||||||
|
d = np.diff(ts[s])[-100:] |
||||||
|
print(f"{s:25} {np.mean(d):7.2f} {np.std(d):7.2f} {np.max(d):7.2f} {np.min(d):7.2f}") |
||||||
|
time.sleep(1) |
||||||
|
except KeyboardInterrupt: |
||||||
|
print("\n") |
||||||
|
print("="*5, "timing summary", "="*5) |
||||||
for s, sock in socks.items(): |
for s, sock in socks.items(): |
||||||
msgs = messaging.drain_sock(sock) |
msgs = messaging.drain_sock(sock) |
||||||
for m in msgs: |
|
||||||
ts[s].append(m.logMonoTime / 1e6) |
|
||||||
|
|
||||||
if len(ts[s]) > 2: |
if len(ts[s]) > 2: |
||||||
d = np.diff(ts[s]) |
d = np.diff(ts[s]) |
||||||
print(f"{s:25} {np.mean(d):7.2f} {np.std(d):7.2f} {np.max(d):7.2f} {np.min(d):7.2f}") |
print(f"{s:25} {np.mean(d):7.2f} {np.std(d):7.2f} {np.max(d):7.2f} {np.min(d):7.2f}") |
||||||
time.sleep(1) |
print("="*5, datetime.timedelta(seconds=time.monotonic()-st), "="*5) |
||||||
|
Loading…
Reference in new issue