diagnostic_common_diagnostics
diagnostic_common_diagnostics
README
General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.
The diagnostic_common_diagnostics package
This package provides generic nodes to monitor a Linux host.
Currently only the NTP monitor is ported to ROS2.
Nodes
cpu_monitor.py
The cpu_monitor
module allows users to monitor the CPU usage of their system in real-time.
It publishes the usage percentage in a diagnostic message.
Name of the node is “cpu_monitor_” + hostname.
Uses the following args:
warning_percentage: If the CPU usage is > warning_percentage, a WARN status will be publised.
window: the maximum length of the used collections.deque for queuing CPU readings.
Published Topics
/diagnostics
diagnostic_msgs/DiagnosticArray The diagnostics information.
Parameters
warning_percentage
(default: 90) warning percentage threshold.
window
(default: 1) Length of CPU readings queue.
ntp_monitor.py
Runs ‘ntpdate’ to check if the system clock is synchronized with the NTP server.
If the offset is smaller than
offset-tolerance
, anOK
status will be published.If the offset is larger than the configured
offset-tolerance
, aWARN
status will be published,if it is bigger than
error-offset-tolerance
, anERROR
status will be published.If there was an error running
ntpdate
, anERROR
status will be published.
Published Topics
/diagnostics
diagnostic_msgs/DiagnosticArray The diagnostics information.
Parameters
ntp_hostname
(default: “pool.ntp.org”) Hostname of NTP server.
offset-tolerance”
(default: 500) Allowed offset from NTP host. Above this is a warning.
error-offset-tolerance
(default: 5000000) If the offset from the NTP host exceeds this value, it is reported as an error instead of warning.
self_offset-tolerance
(default: 500) Offset from self
diag-hostname
Computer name in diagnostics output (ex: ‘c1’)
no-self-test
(default: True) Disable self test.
hd_monitor.py
Runs ‘shutil.disk_usage’ to check if there is enough space left on a given device.
Above 5% of free space left, an
OK
status will be published.Between 5% and 1%, a
WARN
status will be published,Below 1%, an
ERROR
status will be published.
Published Topics
/diagnostics
diagnostic_msgs/DiagnosticArray The diagnostics information.
Parameters
path
(default: home directory “~”) Path in which to check remaining space.
ram_monitor.py
The ram_monitor
module allows users to monitor the RAM usage of their system in real-time.
It publishes the usage percentage in a diagnostic message.
Name of the node is “ram_monitor_” + hostname.
Uses the following args:
warning_percentage: If the RAM usage is > warning_percentage, a WARN status will be published.
window: the maximum length of the used collections.deque for queuing RAM readings.
Published Topics
/diagnostics
diagnostic_msgs/DiagnosticArray The diagnostics information.
Parameters
warning_percentage
(default: 90) warning percentage threshold.
window
(default: 1) Length of RAM readings queue.
sensors_monitor.py
The sensors_monitor
module allows users to monitor the temperature, volt and fan speeds of their system in real-time.
It uses the LM Sensors
package to get the data.
Name of the node is “sensors_monitor_” + hostname.
Published Topics
/diagnostics
diagnostic_msgs/DiagnosticArray The diagnostics information.
Parameters
ignore_fans
(default: false) Whether to ignore the fan speed.
tf_monitor.py
To be ported