Description
Describe the bug
Throttling the warnings about overruns doesn't seem to work reliably.
It is not a huge issue but it can be annoying. I often get 2 prints each second but also saw cases of 1 and 3.
We may need to explore using a different clock.
Expected behavior
There should be at most 1 message per second.
The RCLCPP_WARN_THROTTLED print here should throttle the messages to 1000ms = 1 second.
Screenshots
[WARN] [1747395233.440807556] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.895488 ms (missed cycles : 2).
[WARN] [1747395233.450173719] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.263731 ms (missed cycles : 2).
[WARN] [1747395234.114839063] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.927795 ms (missed cycles : 2).
[WARN] [1747395234.134072793] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.161909 ms (missed cycles : 2).
[WARN] [1747395235.112376698] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.466102 ms (missed cycles : 2).
[WARN] [1747395235.122050666] [controller_manager]: Overrun detected! The controller manager missed its desired rate of 500 Hz. The loop took 2.139334 ms (missed cycles : 2).
Environment (please complete the following information):
- OS: Ubuntu 24.04
- Version Jazzy 4.29.0
- Docker container
Additional context
No custom changes