ca3855c13f
Changes: - Add watchdogctl list-clients command to display currently subscribed clients to the process supervisor. Outputs to stdout in either table format (default) with colored headers, or JSON format with -j/--json - New global -j, --json option for machine-readable output, currently supported by list-clients and status commands - New API: wdog_clients() returns array of wdog_client_t structs for programmatic access to subscribed clients. See API documentation at https://codedocs.xyz/troglobit/watchdogd/wdog_8h.html - Enhance watchdogctl status command to display formatted output by default, with device information, capabilities, and reset history in a human-readable table format. Use -j/--json for JSON output Fixes: - Generic scripts running more than 1 second would fail with false "critical error" reports and cause unwanted system reboots due to uninitialized exit status variable - watchdogctl reload with tempmon crashes watchdogd - Issue causing unwanted reboot when watchdogctl reload was called while a generic monitor script was running - Fix memory leak in generic monitor with optional script path, would be triggered on watchdogctl reload The first of the fixes means we can now drop the backported patch. Also, the test mode has been dropped from public use, hence it being removed as well in this commit. Signed-off-by: Joachim Wiberg <troglobit@gmail.com> Signed-off-by: Julien Olivain <ju.o@free.fr>
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
config BR2_PACKAGE_WATCHDOGD
|
|
bool "watchdogd"
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_LIBCONFUSE
|
|
select BR2_PACKAGE_LIBITE
|
|
select BR2_PACKAGE_LIBUEV
|
|
help
|
|
Extended version of uClinux-dist watchdogd. Monitors loadavg,
|
|
file descriptors and memory leaks, and capable of supervising
|
|
your processes main loop using an instrumentation API.
|
|
|
|
A reset reason is saved for power loss, CPU overload, or any
|
|
of the monitored conditions (above). The full capabilities
|
|
are limited by the kernel watchdog driver, but even the basic
|
|
"softdog" driver is supported. See /etc/watchdogd.conf for
|
|
details, and try watchdogctl for system status and available
|
|
commands.
|
|
|
|
https://github.com/troglobit/watchdogd/
|
|
|
|
if BR2_PACKAGE_WATCHDOGD
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_GENERIC
|
|
bool "Generic script monitor"
|
|
default y if BR2_PACKAGE_WATCHDOGD_GENERIC_POLL_WRAP # legacy 2024.02
|
|
help
|
|
Enable generic script monitor.
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_LOADAVG
|
|
bool "CPU load average monitor"
|
|
default y if BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL_WRAP # legacy 2024.02
|
|
help
|
|
Enable CPU load average monitor.
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_FILENR
|
|
bool "File descriptor leak monitor"
|
|
default y if BR2_PACKAGE_WATCHDOGD_FILENR_POLL_WRAP # legacy 2024.02
|
|
help
|
|
Enable file descriptor leak monitor.
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_MEMINFO
|
|
bool "Memory leak monitor"
|
|
default y if BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL_WRAP # legacy 2024.02
|
|
help
|
|
Enable memory leak monitor.
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_FSMON
|
|
bool "File system monitor"
|
|
help
|
|
Enable file system monitor.
|
|
|
|
config BR2_PACKAGE_WATCHDOGD_TEMPMON
|
|
bool "Temperature monitor"
|
|
help
|
|
Enable temperature monitor.
|
|
|
|
endif
|