You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							92 lines
						
					
					
						
							5.1 KiB
						
					
					
				
			
		
		
	
	
							92 lines
						
					
					
						
							5.1 KiB
						
					
					
				| # LatencyLogger
 | |
| 
 | |
| LatencyLogger is a tool to track the time from first pixel to actuation. Timestamps are printed in a table as well as plotted in a graph. Start openpilot with `LOG_TIMESTAMPS=1` set to enable the necessary logging.
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| ```
 | |
| $ python latency_logger.py -h
 | |
| usage: latency_logger.py [-h] [--relative] [--demo] [--plot] [route_or_segment_name]
 | |
| 
 | |
| A tool for analyzing openpilot's end-to-end latency
 | |
| 
 | |
| positional arguments:
 | |
|   route_or_segment_name
 | |
|                         The route to print (default: None)
 | |
| 
 | |
| optional arguments:
 | |
|   -h, --help            show this help message and exit
 | |
|   --relative            Make timestamps relative to the start of each frame (default: False)
 | |
|   --demo                Use the demo route instead of providing one (default: False)
 | |
|   --plot                If a plot should be generated (default: False)
 | |
|   --offset              Offset service to better visualize overlap (default: False)
 | |
| ```
 | |
| To timestamp an event, use `LOGT("msg")` in c++ code or `cloudlog.timestamp("msg")` in python code. If the print is warning for frameId assignment ambiguity, use `LOGT(frameId ,"msg")`.
 | |
| 
 | |
| ## Examples
 | |
| 
 | |
| Timestamps are visualized as diamonds
 | |
| 
 | |
| |  | Relative  | Absolute |
 | |
| | ------------- | ------------- | ------------- |
 | |
| | Inline |  |  |
 | |
| | Offset |  |  |
 | |
| 
 | |
| Printed timestamps of a frame with internal durations.
 | |
| ```
 | |
| Frame ID: 1202
 | |
|   camerad
 | |
|     wideRoadCameraState start of frame                   0.0
 | |
|     roadCameraState start of frame                       0.049583
 | |
|     wideRoadCameraState published                        35.01206
 | |
|     WideRoadCamera: Image set                            35.020028
 | |
|     roadCameraState published                            38.508261
 | |
|     RoadCamera: Image set                                38.520344
 | |
|     RoadCamera: Transformed                              38.616176
 | |
|     wideRoadCameraState.processingTime                   3.152403049170971
 | |
|     roadCameraState.processingTime                       6.453451234847307
 | |
|   modeld
 | |
|     Image added                                          40.909841
 | |
|     Extra image added                                    42.515027
 | |
|     Execution finished                                   63.002552
 | |
|     modelV2 published                                    63.148747
 | |
|     modelV2.modelExecutionTime                           23.62649142742157
 | |
|     modelV2.gpuExecutionTime                             0.0
 | |
|   plannerd
 | |
|     lateralPlan published                                66.915049
 | |
|     longitudinalPlan published                           69.715999
 | |
|     lateralPlan.solverExecutionTime                      0.8170719956979156
 | |
|     longitudinalPlan.solverExecutionTime                 0.5619999719783664
 | |
|   controlsd
 | |
|     Data sampled                                         70.217763
 | |
|     Events updated                                       71.037178
 | |
|     sendcan published                                    72.278775
 | |
|     controlsState published                              72.825226
 | |
|     Data sampled                                         80.008354
 | |
|     Events updated                                       80.787666
 | |
|     sendcan published                                    81.849682
 | |
|     controlsState published                              82.238323
 | |
|     Data sampled                                         90.521123
 | |
|     Events updated                                       91.626003
 | |
|     sendcan published                                    93.413218
 | |
|     controlsState published                              94.143989
 | |
|     Data sampled                                         100.991497
 | |
|     Events updated                                       101.973774
 | |
|     sendcan published                                    103.565575
 | |
|     controlsState published                              104.146088
 | |
|     Data sampled                                         110.284387
 | |
|     Events updated                                       111.183541
 | |
|     sendcan published                                    112.981692
 | |
|     controlsState published                              113.731994
 | |
|   boardd
 | |
|     sending sendcan to panda: 250027001751393037323631   81.928119
 | |
|     sendcan sent to panda: 250027001751393037323631      82.164834
 | |
|     sending sendcan to panda: 250027001751393037323631   93.569986
 | |
|     sendcan sent to panda: 250027001751393037323631      93.92795
 | |
|     sending sendcan to panda: 250027001751393037323631   103.689167
 | |
|     sendcan sent to panda: 250027001751393037323631      104.012235
 | |
|     sending sendcan to panda: 250027001751393037323631   113.109555
 | |
|     sendcan sent to panda: 250027001751393037323631      113.525487
 | |
|     sending sendcan to panda: 250027001751393037323631   122.508434
 | |
|     sendcan sent to panda: 250027001751393037323631      122.834314
 | |
| ```
 | |
| 
 |