Revision: 2073
http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=2073&view=rev
Author: dermoth
Date: 2008-11-07 01:41:17 +0000 (Fri, 07 Nov 2008)
Log Message:
-----------
check_icmp now reports min and max round trip time perfdata (Steve Rader)
Modified Paths:
--------------
nagiosplug/trunk/NEWS
nagiosplug/trunk/THANKS.in
nagiosplug/trunk/plugins-root/check_icmp.c
Modified: nagiosplug/trunk/NEWS
===================================================================
--- nagiosplug/trunk/NEWS 2008-11-05 21:36:43 UTC (rev 2072)
+++ nagiosplug/trunk/NEWS 2008-11-07 01:41:17 UTC (rev 2073)
@@ -11,6 +11,7 @@
Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
Fixed segfault in extra-opts under some circumstance when reading multiple sections
Fix long options parsing in check_tcp
+ check_icmp now reports min and max round trip time perfdata (Steve Rader)
1.4.13 25th Sept 2008
Fix Debian bug #460097: check_http --max-age broken (Hilko Bengen)
Modified: nagiosplug/trunk/THANKS.in
===================================================================
--- nagiosplug/trunk/THANKS.in 2008-11-05 21:36:43 UTC (rev 2072)
+++ nagiosplug/trunk/THANKS.in 2008-11-07 01:41:17 UTC (rev 2073)
@@ -240,3 +240,4 @@
Erik Wasser
Tilman Koschnick
Olivier 'Babar' Raginel
+Steve Rader
Modified: nagiosplug/trunk/plugins-root/check_icmp.c
===================================================================
--- nagiosplug/trunk/plugins-root/check_icmp.c 2008-11-05 21:36:43 UTC (rev 2072)
+++ nagiosplug/trunk/plugins-root/check_icmp.c 2008-11-07 01:41:17 UTC (rev 2073)
@@ -106,6 +106,9 @@
# define ICMP_UNREACH_PRECEDENCE_CUTOFF 15
#endif
+#ifndef DBL_MAX
+# define DBL_MAX 9.9999999999e999
+#endif
typedef unsigned short range_t; /* type for get_range() -- unimplemented */
@@ -120,6 +123,8 @@
unsigned char icmp_type, icmp_code; /* type and code from errors */
unsigned short flags; /* control/status flags */
double rta; /* measured RTA */
+ double rtmax; /* max rtt */
+ double rtmin; /* min rtt */
unsigned char pl; /* measured packet loss */
struct rta_host *next; /* linked list */
} rta_host;
@@ -782,11 +787,15 @@
host->time_waited += tdiff;
host->icmp_recv++;
icmp_recv++;
+ if (tdiff > host->rtmax)
+ host->rtmax = tdiff;
+ if (tdiff < host->rtmin)
+ host->rtmin = tdiff;
if(debug) {
- printf("%0.3f ms rtt from %s, outgoing ttl: %u, incoming ttl: %u\n",
+ printf("%0.3f ms rtt from %s, outgoing ttl: %u, incoming ttl: %u, max: %0.3f, min: %0.3f\n",
(float)tdiff / 1000, inet_ntoa(resp_addr.sin_addr),
- ttl, ip->ip_ttl);
+ ttl, ip->ip_ttl, (float)host->rtmax / 1000, (float)host->rtmin / 1000);
}
/* if we're in hostcheck mode, exit with limited printouts */
@@ -993,11 +1002,12 @@
host = list;
while(host) {
if(debug) puts("");
- printf("%srta=%0.3fms;%0.3f;%0.3f;0; %spl=%u%%;%u;%u;; ",
+ printf("%srta=%0.3fms;%0.3f;%0.3f;0; %spl=%u%%;%u;%u;; %srtmax=%0.3fms;;;; %srtmin=%0.3fms;;;; ",
(targets > 1) ? host->name : "",
host->rta / 1000, (float)warn.rta / 1000, (float)crit.rta / 1000,
- (targets > 1) ? host->name : "",
- host->pl, warn.pl, crit.pl);
+ (targets > 1) ? host->name : "", host->pl, warn.pl, crit.pl,
+ (targets > 1) ? host->name : "", (float)host->rtmax / 1000,
+ (targets > 1) ? host->name : "", (host->rtmin < DBL_MAX) ? (float)host->rtmin / 1000 : (float)0);
host = host->next;
}
@@ -1074,6 +1084,8 @@
host->saddr_in.sin_family = AF_INET;
host->saddr_in.sin_addr.s_addr = in->s_addr;
+ host->rtmin = DBL_MAX;
+
if(!list) list = cursor = host;
else cursor->next = host;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.