parent
							
								
									8da4e94289
								
							
						
					
					
						commit
						2e6ca5dd05
					
				
				 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