Code

Timings in milliseconds and nicer output
authorTon Voon <tonvoon@users.sourceforge.net>
Wed, 12 Mar 2003 00:08:19 +0000 (00:08 +0000)
committerTon Voon <tonvoon@users.sourceforge.net>
Wed, 12 Mar 2003 00:08:19 +0000 (00:08 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@400 f882894a-f735-0410-b71e-b25c423dba1c

plugins/check_dns.c

index 7c79893ab7dc4b6ea0d008911254a480160bd7e9..fd798a6042b91b24238eb0a321341496e94c8425 100644 (file)
@@ -75,6 +75,9 @@ main (int argc, char **argv)
        char *address = NULL;
        char *temp_buffer = NULL;
        int result = STATE_UNKNOWN;
+       double elapsed_time;
+       struct timeval tv;
+       int multi_address;
 
        /* Set signal handling and alarm */
        if (signal (SIGALRM, popen_timeout_alarm_handler) == SIG_ERR) {
@@ -91,7 +94,7 @@ main (int argc, char **argv)
        asprintf (&command_line, "%s %s %s", NSLOOKUP_COMMAND,  query_address, dns_server);
 
        alarm (timeout_interval);
-       time (&start_time);
+       gettimeofday (&tv, NULL);
 
        if (verbose)
                printf ("%s\n", command_line);
@@ -180,11 +183,17 @@ main (int argc, char **argv)
                asprintf(&output, "expected %s but got %s", expected_address, address);
                }
        
-       (void) time (&end_time);
+       elapsed_time = delta_time (tv);
 
-       if (result == STATE_OK)
-               printf ("DNS ok - %d seconds response time, Address(es) is/are %s\n",
-                                               (int) (end_time - start_time), address);
+       if (result == STATE_OK) {
+               if (strchr (address, ',') == NULL)
+                       multi_address = FALSE;
+               else
+                       multi_address = TRUE;
+
+               printf ("DNS ok - %-7.3f seconds response time, address%s %s|time=%-7.3f\n",
+                 elapsed_time, (multi_address==TRUE ? "es are" : " is"), address, elapsed_time);
+       }
        else if (result == STATE_WARNING)
                printf ("DNS WARNING - %s\n",
                        !strcmp (output, "") ? " Probably a non-existent host/domain" : output);