logswan

Fast Web log analyzer using probabilistic data structures
Log | Files | Refs | README | LICENSE

commit 95d245f3e88c27ac5262b3beccffe82e140ab0d5
parent bef3eb503e9316ba1431769531fab05563a35882
Author: Frederic Cambus <fred@statdns.com>
Date:   Wed, 27 Jun 2018 21:26:35 +0200

Use the monotonic clock to determine runtime

Diffstat:
Msrc/logswan.c | 10++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/logswan.c b/src/logswan.c @@ -48,7 +48,7 @@ bool geoip; MMDB_s geoip2; -clock_t begin, end; +struct timespec begin, end, elapsed; char lineBuffer[LINE_LENGTH_MAX]; @@ -124,7 +124,7 @@ main(int argc, char *argv[]) { argv += optind; /* Starting timer */ - begin = clock(); + clock_gettime(CLOCK_MONOTONIC, &begin); /* Initializing GeoIP */ if (geoip) { @@ -290,8 +290,10 @@ main(int argc, char *argv[]) { results.visits = results.visitsIPv4 + results.visitsIPv6; /* Stopping timer */ - end = clock(); - results.runtime = (double)(end - begin) / CLOCKS_PER_SEC; + clock_gettime(CLOCK_MONOTONIC, &end); + + timespecsub(&end, &begin, &elapsed); + results.runtime = elapsed.tv_sec + elapsed.tv_nsec / 1E9; /* Generate timestamp */ time_t now = time(NULL);