From: Karl DeBisschop Date: Tue, 26 Aug 2003 10:44:14 +0000 (+0000) Subject: function to make perfdata output X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=68e8cc5f4dde114f706e28130b6c0f2779706a01;p=nagiosplug.git function to make perfdata output git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@696 f882894a-f735-0410-b71e-b25c423dba1c --- diff --git a/plugins/utils.c b/plugins/utils.c index 5c809ec..aad3006 100644 --- a/plugins/utils.c +++ b/plugins/utils.c @@ -497,3 +497,47 @@ strpcat (char *dest, const char *src, const char *str) return dest; } + + + + +/****************************************************************************** + * + * Print perfdata in a standard format + * + ******************************************************************************/ + +char *perfdata (const char *label, + long int val, + const char *uom, + int warnp, + long int warn, + int critp, + long int crit, + int minp, + long int minv, + int maxp, + long int maxv) +{ + char *data = NULL; + + asprintf (&data, "\"%s\"=%ld%s;", label, val, uom); + + if (warnp) + asprintf (&data, "%s%ld;", data, warn); + else + asprintf (&data, "%s;", data); + + if (critp) + asprintf (&data, "%s%ld;", data, crit); + else + asprintf (&data, "%s;", data); + + if (minp) + asprintf (&data, "%s%ld", data, minv); + + if (maxp) + asprintf (&data, "%s;%ld", data, maxv); + + return data; +} diff --git a/plugins/utils.h b/plugins/utils.h index efdbed4..282f299 100644 --- a/plugins/utils.h +++ b/plugins/utils.h @@ -79,6 +79,18 @@ const char *state_text (int result); #define max(a,b) (((a)>(b))?(a):(b)) +char *perfdata (const char *label, + long int val, + const char *uom, + int warnp, + long int warn, + int critp, + long int crit, + int minp, + long int minv, + int maxp, + long int maxv); + /* The idea here is that, although not every plugin will use all of these, most will or should. Therefore, for consistency, these very common options should have only these meanings throughout the overall suite */