From a14b2b35776c7550123ce58af571913eb9d7819f Mon Sep 17 00:00:00 2001 From: Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> Date: Wed, 12 Mar 2025 15:29:36 +0100 Subject: Refactor check_procs --- plugins/check_procs.d/config.h | 75 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 plugins/check_procs.d/config.h (limited to 'plugins/check_procs.d') diff --git a/plugins/check_procs.d/config.h b/plugins/check_procs.d/config.h new file mode 100644 index 00000000..815809d4 --- /dev/null +++ b/plugins/check_procs.d/config.h @@ -0,0 +1,75 @@ +#pragma once + +#include "../../config.h" +#include "regex.h" +#include "thresholds.h" +#include +#include +#include + +enum metric { + METRIC_PROCS, + METRIC_VSZ, + METRIC_RSS, + METRIC_CPU, + METRIC_ELAPSED +}; + +typedef struct { + int options; /* bitmask of filter criteria to test against */ + enum metric metric; + char *metric_name; + char *input_filename; + char *prog; + char *args; + char *fmt; + char *fails; + char *exclude_progs; + char **exclude_progs_arr; + char exclude_progs_counter; + regex_t re_args; + + bool kthread_filter; + bool usepid; /* whether to test for pid or /proc/pid/exe */ + uid_t uid; + pid_t ppid; + int vsz; + int rss; + float pcpu; + char *statopts; + + char *warning_range; + char *critical_range; + thresholds *procs_thresholds; +} check_procs_config; + +check_procs_config check_procs_config_init() { + check_procs_config tmp = { + .options = 0, + .metric = METRIC_PROCS, + .metric_name = strdup("PROCS"), + .input_filename = NULL, + .prog = NULL, + .args = NULL, + .fmt = NULL, + .fails = NULL, + .exclude_progs = NULL, + .exclude_progs_arr = NULL, + .exclude_progs_counter = 0, + .re_args = {}, + + .kthread_filter = false, + .usepid = false, + .uid = {}, + .ppid = {}, + .vsz = 0, + .rss = 0, + .pcpu = 0, + .statopts = NULL, + + .warning_range = NULL, + .critical_range = NULL, + .procs_thresholds = NULL, + }; + return tmp; +} -- cgit v1.2.3-74-g34f1 From a746576b8cb72a3233caf5ac852b2679cc98d80c Mon Sep 17 00:00:00 2001 From: Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> Date: Wed, 12 Mar 2025 15:50:50 +0100 Subject: Fix initialisers for old compilers --- plugins/check_procs.d/config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'plugins/check_procs.d') diff --git a/plugins/check_procs.d/config.h b/plugins/check_procs.d/config.h index 815809d4..e32ca066 100644 --- a/plugins/check_procs.d/config.h +++ b/plugins/check_procs.d/config.h @@ -56,12 +56,12 @@ check_procs_config check_procs_config_init() { .exclude_progs = NULL, .exclude_progs_arr = NULL, .exclude_progs_counter = 0, - .re_args = {}, + .re_args = {0}, .kthread_filter = false, .usepid = false, - .uid = {}, - .ppid = {}, + .uid = 0, + .ppid = 0, .vsz = 0, .rss = 0, .pcpu = 0, -- cgit v1.2.3-74-g34f1