diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-26 10:44:14 +0000 |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-26 10:44:14 +0000 |
commit | 68e8cc5f4dde114f706e28130b6c0f2779706a01 (patch) | |
tree | b49a0330a9700e344c3df5542b52e2f1ad6c3fbd | |
parent | 1db3424e5f6b0b8cfbf41a287fe48296931be72b (diff) | |
download | monitoring-plugins-68e8cc5f4dde114f706e28130b6c0f2779706a01.tar.gz |
function to make perfdata output
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@696 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | plugins/utils.c | 44 | ||||
-rw-r--r-- | plugins/utils.h | 12 |
2 files changed, 56 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index 5c809ece..aad30068 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
@@ -497,3 +497,47 @@ strpcat (char *dest, const char *src, const char *str) | |||
497 | 497 | ||
498 | return dest; | 498 | return dest; |
499 | } | 499 | } |
500 | |||
501 | |||
502 | |||
503 | |||
504 | /****************************************************************************** | ||
505 | * | ||
506 | * Print perfdata in a standard format | ||
507 | * | ||
508 | ******************************************************************************/ | ||
509 | |||
510 | char *perfdata (const char *label, | ||
511 | long int val, | ||
512 | const char *uom, | ||
513 | int warnp, | ||
514 | long int warn, | ||
515 | int critp, | ||
516 | long int crit, | ||
517 | int minp, | ||
518 | long int minv, | ||
519 | int maxp, | ||
520 | long int maxv) | ||
521 | { | ||
522 | char *data = NULL; | ||
523 | |||
524 | asprintf (&data, "\"%s\"=%ld%s;", label, val, uom); | ||
525 | |||
526 | if (warnp) | ||
527 | asprintf (&data, "%s%ld;", data, warn); | ||
528 | else | ||
529 | asprintf (&data, "%s;", data); | ||
530 | |||
531 | if (critp) | ||
532 | asprintf (&data, "%s%ld;", data, crit); | ||
533 | else | ||
534 | asprintf (&data, "%s;", data); | ||
535 | |||
536 | if (minp) | ||
537 | asprintf (&data, "%s%ld", data, minv); | ||
538 | |||
539 | if (maxp) | ||
540 | asprintf (&data, "%s;%ld", data, maxv); | ||
541 | |||
542 | return data; | ||
543 | } | ||
diff --git a/plugins/utils.h b/plugins/utils.h index efdbed41..282f299e 100644 --- a/plugins/utils.h +++ b/plugins/utils.h | |||
@@ -79,6 +79,18 @@ const char *state_text (int result); | |||
79 | 79 | ||
80 | #define max(a,b) (((a)>(b))?(a):(b)) | 80 | #define max(a,b) (((a)>(b))?(a):(b)) |
81 | 81 | ||
82 | char *perfdata (const char *label, | ||
83 | long int val, | ||
84 | const char *uom, | ||
85 | int warnp, | ||
86 | long int warn, | ||
87 | int critp, | ||
88 | long int crit, | ||
89 | int minp, | ||
90 | long int minv, | ||
91 | int maxp, | ||
92 | long int maxv); | ||
93 | |||
82 | /* The idea here is that, although not every plugin will use all of these, | 94 | /* The idea here is that, although not every plugin will use all of these, |
83 | most will or should. Therefore, for consistency, these very common | 95 | most will or should. Therefore, for consistency, these very common |
84 | options should have only these meanings throughout the overall suite */ | 96 | options should have only these meanings throughout the overall suite */ |