-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
⚠️ Issue: Log Pollution & Diagnostic Dilution
Without a strict logging contract, critical hardware failures are buried under a mountain of routine telemetry "info" noise. This makes post-mortem debugging (figuring out why the robot crashed into the cat) nearly impossible because the relevant error message is 5,000 lines up in the terminal buffer.
🎯 Location:
robot/vtc/pump.py
robot/vtc/vtc.py
vcs/regulator.py
🦠 Symptoms:
- Terminal "scroll-blindness" during testing.
- Important warnings (like a sensor returning
None) are missed because they aren't color-coded or categorized. - High CPU overhead from formatting string logs that no one is actually reading.
🩺 Diagnosis:
The system lacks a Severity Standard. In ROS 2, logging is a shared resource. If your node is too chatty at the INFO level, it slows down the rosout bus. We need to map specific robot events to the appropriate ROS 2 log levels (DEBUG, INFO, WARN, ERROR, FATAL).
💡 Proposal:
The "VCS Logging Manifesto"
Define exactly what kind of event triggers which level.
- DEBUG: High-frequency pulse data, individual
trace_thru_conduitresults, and thread-lock acquisitions. (Hidden by default). - INFO: State transitions (
INIT->RUNNING), successful YAML loading, and connection to ````jtop```. - WARN: The "Lifestream Guard" misses a beat, a sensor returns ```None```` once, or the Regulator hits a "Soft Limit."
- ERROR: A YAML path fails the "Smoke Test,"
jtopis unreachable, or aDEGRADEDstate is triggered. - FATAL: Thread crashes, memory allocation failures, or the inability to find the
robot_spec.yaml. The node must shut down.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Projects
Status
Todo