Minimal Structured Logging for Autonomous Vehicles
summary
A fast structured logger separates metadata (file, format, type descriptors) from per-instance fields, assigns a unique ID via a static linked list pre-main, and writes tiny binary records of ID+replacement bytes so fleet logs share one metadata file. Implementation uses an anonymous struct + macro in C++17, Explanation<> as the serializable payload type, ring buffers plus a background writer for batching, and C++20 NTTP/fixed_string removes the do‑while workaround; porting shows no noticeable compile‑time penalty.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:14Minimal Structured Logging for Autonomous Vehicles
- 0:43Debug Logs and Autonomous Vehicles
- 2:26Logging Paradigms
- 3:40Ideal Debug Log Interface
- 5:37Metadata vs Instance Data
- 6:23"Ideal" AV Debug Logger
- 8:48Debug Log Statement Contents
- 14:43Metadata Aggregation Type Descriptor
- 18:42Transporting Log Statements: Explanation
- 19:20Transporting Log Statements: Usage
- 20:55Conclusion
- 23:51Structured Payload: Dynamic Data
- 27:08Metadata Aggregation Construction
related talks
12mScalable Uniques in Postgres - HyperLogLog
37mUsing small data in the client instead of big data in the cloud
15mThe Log Is The Agent
22mThe Invisible Tax: How Data Format Conversions Drive up Telemetry...
48mA Tree Full of Object Data
24mLogs as Data
45mUsing time-series data to better understand our products & infrastructure
37mVisualizing Persistent Data Structures
