]> arthur.barton.de Git - netdata.git/blobdiff - src/common.c
global statistics now also report max API response time; global statistics implemente...
[netdata.git] / src / common.c
index 8d2c3aa8a40d1b7858ceeae32613bfbce86433f9..7d0f89016c2906401ed235dcdde17a8dff23148e 100644 (file)
@@ -43,15 +43,26 @@ void freez(void *ptr) {
 }
 
 // ----------------------------------------------------------------------------
+// time functions
 
-// time(NULL) in milliseconds
-unsigned long long timems(void) {
+inline unsigned long long timeval_usec(struct timeval *tv) {
+       return tv->tv_sec * 1000000ULL + tv->tv_usec;
+}
+
+// time(NULL) in nanoseconds
+inline unsigned long long time_usec(void) {
        struct timeval now;
        gettimeofday(&now, NULL);
-       return now.tv_sec * 1000000ULL + now.tv_usec;
+       return timeval_usec(&now);
+}
+
+inline unsigned long long usec_dt(struct timeval *now, struct timeval *old) {
+       unsigned long long tv1 = timeval_usec(now);
+       unsigned long long tv2 = timeval_usec(old);
+       return (tv1 > tv2)?(tv1 - tv2):(tv2 - tv1);
 }
 
-int usecsleep(unsigned long long usec) {
+int sleep_usec(unsigned long long usec) {
 
 #ifndef NETDATA_WITH_USLEEP
        // we expect microseconds (1.000.000 per second)