one of the first ps commands in the configure.ac is `axwo 'stat comm vsz rss user uid pid ppid args'` which
works on most modern linux systems (checked debian 10/11 and centos 7/8). But this test misses the etime
argument. Therefore `check_procs --metric=ELAPSED` does not work.
To fix this, we simply do the same test including etime before that one.
Signed-off-by: Sven Nierlein <sven@nierlein.de>
check_ircd was using the string `ircd` plus the PID as a nickname
for connecting to a IRC network by default.
This caused errors, when the PID was too high and the network
restricted the length of the nickname to 9 characters.
This patch "fixes" this by just cutting it of, if it gets too big.
* monitoring-plugins/pr/1707:
Revert to poor man's logic
Change all to comments to old comment style
Fix comparing logic
Remove spaces from tests
check_swap: Fix perfdata und thresholds for big values and simplify code
Introduce new perfdata functions and stuff for using (u)int64_t
The original problem was https://github.com/monitoring-plugins/monitoring-plugins/pull/1705
where the performance data output of check_swap did not conform to
the parser logic of a monitoring system (which decided to go for
"correct" SI or IEC units.
The PR was accompanied by a change to byte values in the performance
data which broke the _perfdata_ helper function which could not handle
values of this size.
The fix for this, was to use _fperfdata_ which could, but would
use float values.
I didn't like that (since all values here are discreet) and this
is my proposal for a fix for the problem.
It introduces some helper functions which do now explicitely work
with (u)int64_t, including a special version of the _perfdata_ helper.
In the process of introducing this to check_swap, I stumbled over
several sections of the check_swap code which I found problematic.
Therefore I tried to simplify the code and make it more readable
and less redundant.
I am kinda sorry about this, but sincerely hope my changes can
be helpful.