From becfbec9998a861afddc10e355a8cd4b184d5bed Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Lef=C3=A8vre?= Date: Fri, 9 Dec 2016 09:40:18 +0100 Subject: [PATCH] replace `time_usec()` calls by `now_realtime_usec()` MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémi Lefèvre --- src/apps_plugin.c | 10 +++++----- src/backends.c | 16 ++++++++-------- src/common.c | 10 ---------- src/common.h | 1 - src/plugin_freebsd.c | 6 +++--- src/plugin_proc.c | 44 ++++++++++++++++++++++---------------------- src/sys_fs_cgroup.c | 6 +++--- 7 files changed, 41 insertions(+), 52 deletions(-) diff --git a/src/apps_plugin.c b/src/apps_plugin.c index 4b0b8008..1e6f546f 100644 --- a/src/apps_plugin.c +++ b/src/apps_plugin.c @@ -592,7 +592,7 @@ int read_proc_pid_stat(struct pid_stat *p) { if(unlikely(!ff)) goto cleanup; p->last_stat_collected_usec = p->stat_collected_usec; - p->stat_collected_usec = time_usec(); + p->stat_collected_usec = now_realtime_usec(); file_counter++; // p->pid = atol(procfile_lineword(ff, 0, 0+i)); @@ -774,7 +774,7 @@ int read_proc_pid_io(struct pid_stat *p) { file_counter++; p->last_io_collected_usec = p->io_collected_usec; - p->io_collected_usec = time_usec(); + p->io_collected_usec = now_realtime_usec(); unsigned long long last; @@ -848,7 +848,7 @@ int read_proc_stat() { if(unlikely(!ff)) goto cleanup; last_collected_usec = collected_usec; - collected_usec = time_usec(); + collected_usec = now_realtime_usec(); file_counter++; @@ -2843,12 +2843,12 @@ int main(int argc, char **argv) unsigned long long step = update_every * 1000000ULL; global_iterations_counter = 1; for(;1; global_iterations_counter++) { - unsigned long long now = time_usec(); + unsigned long long now = now_realtime_usec(); unsigned long long next = now - (now % step) + step; while(now < next) { sleep_usec(next - now); - now = time_usec(); + now = now_realtime_usec(); } if(!collect_data_for_all_processes_from_proc()) { diff --git a/src/backends.c b/src/backends.c index f7c51eaf..69a61414 100644 --- a/src/backends.c +++ b/src/backends.c @@ -396,8 +396,8 @@ void *backends_main(void *ptr) { info("BACKEND configured ('%s' on '%s' sending '%s' data, every %d seconds, as host '%s', with prefix '%s')", type, destination, source, frequency, hostname, prefix); unsigned long long step_ut = frequency * 1000000ULL; - unsigned long long random_ut = time_usec() % (step_ut / 2); - time_t before = (time_t)((time_usec() - step_ut) / 10000000ULL); + unsigned long long random_ut = now_realtime_usec() % (step_ut / 2); + time_t before = (time_t)((now_realtime_usec() - step_ut) / 10000000ULL); time_t after = before; int failures = 0; @@ -405,7 +405,7 @@ void *backends_main(void *ptr) { // ------------------------------------------------------------------------ // wait for the next iteration point - unsigned long long now_ut = time_usec(); + unsigned long long now_ut = now_realtime_usec(); unsigned long long next_ut = now_ut - (now_ut % step_ut) + step_ut; before = (time_t)(next_ut / 1000000ULL); @@ -414,7 +414,7 @@ void *backends_main(void *ptr) { while(now_ut < next_ut) { sleep_usec(next_ut - now_ut); - now_ut = time_usec(); + now_ut = now_realtime_usec(); } // ------------------------------------------------------------------------ @@ -465,7 +465,7 @@ void *backends_main(void *ptr) { // connect to a backend server if(unlikely(sock == -1)) { - unsigned long long start_ut = time_usec(); + unsigned long long start_ut = now_realtime_usec(); const char *s = destination; while(*s) { const char *e = s; @@ -486,7 +486,7 @@ void *backends_main(void *ptr) { if(sock != -1) break; s = e; } - chart_backend_latency += time_usec() - start_ut; + chart_backend_latency += now_realtime_usec() - start_ut; } if(unlikely(netdata_exit)) break; @@ -496,13 +496,13 @@ void *backends_main(void *ptr) { if(likely(sock != -1)) { size_t len = buffer_strlen(b); - unsigned long long start_ut = time_usec(); + unsigned long long start_ut = now_realtime_usec(); int flags = 0; #ifdef MSG_NOSIGNAL flags += MSG_NOSIGNAL; #endif ssize_t written = send(sock, buffer_tostring(b), len, flags); - chart_backend_latency += time_usec() - start_ut; + chart_backend_latency += now_realtime_usec() - start_ut; if(written != -1 && (size_t)written == len) { // we sent the data successfully chart_transmission_successes++; diff --git a/src/common.c b/src/common.c index 88c4ecf2..4fdfe633 100644 --- a/src/common.c +++ b/src/common.c @@ -197,16 +197,6 @@ void freez(void *ptr) { free(ptr); } -// ---------------------------------------------------------------------------- -// time functions - -// time(NULL) in nanoseconds -inline unsigned long long time_usec(void) { - struct timeval now; - gettimeofday(&now, NULL); - return timeval_usec(&now); -} - int sleep_usec(unsigned long long usec) { #ifndef NETDATA_WITH_USLEEP diff --git a/src/common.h b/src/common.h index c2a26ee4..9c87d890 100644 --- a/src/common.h +++ b/src/common.h @@ -191,7 +191,6 @@ extern int enable_ksm; extern pid_t gettid(void); -extern unsigned long long time_usec(void); extern int sleep_usec(unsigned long long usec); extern char *fgets_trim_len(char *buf, size_t buf_size, FILE *fp, size_t *len); diff --git a/src/plugin_freebsd.c b/src/plugin_freebsd.c index 47a18613..4f59fc85 100644 --- a/src/plugin_freebsd.c +++ b/src/plugin_freebsd.c @@ -27,12 +27,12 @@ void *freebsd_main(void *ptr) unsigned long long step = rrd_update_every * 1000000ULL; for(;;) { - unsigned long long now = time_usec(); + unsigned long long now = now_realtime_usec(); unsigned long long next = now - (now % step) + step; while(now < next) { sleep_usec(next - now); - now = time_usec(); + now = now_realtime_usec(); } if(unlikely(netdata_exit)) break; @@ -41,7 +41,7 @@ void *freebsd_main(void *ptr) if(!vdo_freebsd_sysctl) { debug(D_PROCNETDEV_LOOP, "FREEBSD: calling do_freebsd_sysctl()."); - now = time_usec(); + now = now_realtime_usec(); vdo_freebsd_sysctl = do_freebsd_sysctl(rrd_update_every, (sutime_freebsd_sysctl > 0)?now - sutime_freebsd_sysctl:0ULL); sutime_freebsd_sysctl = now; } diff --git a/src/plugin_proc.c b/src/plugin_proc.c index 1aa2fb58..c6d4304e 100644 --- a/src/plugin_proc.c +++ b/src/plugin_proc.c @@ -63,12 +63,12 @@ void *proc_main(void *ptr) unsigned long long step = rrd_update_every * 1000000ULL; for(;;) { - unsigned long long now = time_usec(); + unsigned long long now = now_realtime_usec(); unsigned long long next = now - (now % step) + step; while(now < next) { sleep_usec(next - now); - now = time_usec(); + now = now_realtime_usec(); } if(unlikely(netdata_exit)) break; @@ -78,7 +78,7 @@ void *proc_main(void *ptr) if(!vdo_sys_kernel_mm_ksm) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_sys_kernel_mm_ksm()."); - now = time_usec(); + now = now_realtime_usec(); vdo_sys_kernel_mm_ksm = do_sys_kernel_mm_ksm(rrd_update_every, (sutime_sys_kernel_mm_ksm > 0)?now - sutime_sys_kernel_mm_ksm:0ULL); sutime_sys_kernel_mm_ksm = now; } @@ -86,7 +86,7 @@ void *proc_main(void *ptr) if(!vdo_proc_loadavg) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_loadavg()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_loadavg = do_proc_loadavg(rrd_update_every, (sutime_proc_loadavg > 0)?now - sutime_proc_loadavg:0ULL); sutime_proc_loadavg = now; } @@ -94,7 +94,7 @@ void *proc_main(void *ptr) if(!vdo_ipc) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_ipc()."); - now = time_usec(); + now = now_realtime_usec(); vdo_ipc = do_ipc(rrd_update_every, (sutime_ipc > 0)?now - sutime_ipc:0ULL); sutime_ipc = now; } @@ -102,7 +102,7 @@ void *proc_main(void *ptr) if(!vdo_proc_interrupts) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_interrupts()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_interrupts = do_proc_interrupts(rrd_update_every, (sutime_proc_interrupts > 0)?now - sutime_proc_interrupts:0ULL); sutime_proc_interrupts = now; } @@ -110,7 +110,7 @@ void *proc_main(void *ptr) if(!vdo_proc_softirqs) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_softirqs()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_softirqs = do_proc_softirqs(rrd_update_every, (sutime_proc_softirqs > 0)?now - sutime_proc_softirqs:0ULL); sutime_proc_softirqs = now; } @@ -118,7 +118,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_softnet_stat) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_softnet_stat()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_softnet_stat = do_proc_net_softnet_stat(rrd_update_every, (sutime_proc_net_softnet_stat > 0)?now - sutime_proc_net_softnet_stat:0ULL); sutime_proc_net_softnet_stat = now; } @@ -126,7 +126,7 @@ void *proc_main(void *ptr) if(!vdo_proc_sys_kernel_random_entropy_avail) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_sys_kernel_random_entropy_avail()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_sys_kernel_random_entropy_avail = do_proc_sys_kernel_random_entropy_avail(rrd_update_every, (sutime_proc_sys_kernel_random_entropy_avail > 0)?now - sutime_proc_sys_kernel_random_entropy_avail:0ULL); sutime_proc_sys_kernel_random_entropy_avail = now; } @@ -134,7 +134,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_dev) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_dev()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_dev = do_proc_net_dev(rrd_update_every, (sutime_proc_net_dev > 0)?now - sutime_proc_net_dev:0ULL); sutime_proc_net_dev = now; } @@ -142,7 +142,7 @@ void *proc_main(void *ptr) if(!vdo_proc_diskstats) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_diskstats()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_diskstats = do_proc_diskstats(rrd_update_every, (sutime_proc_diskstats > 0)?now - sutime_proc_diskstats:0ULL); sutime_proc_diskstats = now; } @@ -150,7 +150,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_snmp) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_snmp()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_snmp = do_proc_net_snmp(rrd_update_every, (sutime_proc_net_snmp > 0)?now - sutime_proc_net_snmp:0ULL); sutime_proc_net_snmp = now; } @@ -158,7 +158,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_snmp6) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_snmp6()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_snmp6 = do_proc_net_snmp6(rrd_update_every, (sutime_proc_net_snmp6 > 0)?now - sutime_proc_net_snmp6:0ULL); sutime_proc_net_snmp6 = now; } @@ -166,7 +166,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_netstat) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_netstat()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_netstat = do_proc_net_netstat(rrd_update_every, (sutime_proc_net_netstat > 0)?now - sutime_proc_net_netstat:0ULL); sutime_proc_net_netstat = now; } @@ -174,7 +174,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_stat_conntrack) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_stat_conntrack()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_stat_conntrack = do_proc_net_stat_conntrack(rrd_update_every, (sutime_proc_net_stat_conntrack > 0)?now - sutime_proc_net_stat_conntrack:0ULL); sutime_proc_net_stat_conntrack = now; } @@ -182,7 +182,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_ip_vs_stats) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling vdo_proc_net_ip_vs_stats()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_ip_vs_stats = do_proc_net_ip_vs_stats(rrd_update_every, (sutime_proc_net_ip_vs_stats > 0)?now - sutime_proc_net_ip_vs_stats:0ULL); sutime_proc_net_ip_vs_stats = now; } @@ -190,7 +190,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_stat_synproxy) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling vdo_proc_net_stat_synproxy()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_stat_synproxy = do_proc_net_stat_synproxy(rrd_update_every, (sutime_proc_net_stat_synproxy > 0)?now - sutime_proc_net_stat_synproxy:0ULL); sutime_proc_net_stat_synproxy = now; } @@ -198,7 +198,7 @@ void *proc_main(void *ptr) if(!vdo_proc_stat) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_stat()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_stat = do_proc_stat(rrd_update_every, (sutime_proc_stat > 0)?now - sutime_proc_stat:0ULL); sutime_proc_stat = now; } @@ -206,7 +206,7 @@ void *proc_main(void *ptr) if(!vdo_proc_meminfo) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling vdo_proc_meminfo()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_meminfo = do_proc_meminfo(rrd_update_every, (sutime_proc_meminfo > 0)?now - sutime_proc_meminfo:0ULL); sutime_proc_meminfo = now; } @@ -214,7 +214,7 @@ void *proc_main(void *ptr) if(!vdo_proc_vmstat) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling vdo_proc_vmstat()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_vmstat = do_proc_vmstat(rrd_update_every, (sutime_proc_vmstat > 0)?now - sutime_proc_vmstat:0ULL); sutime_proc_vmstat = now; } @@ -222,7 +222,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_rpc_nfsd) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_rpc_nfsd()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_rpc_nfsd = do_proc_net_rpc_nfsd(rrd_update_every, (sutime_proc_net_rpc_nfsd > 0)?now - sutime_proc_net_rpc_nfsd:0ULL); sutime_proc_net_rpc_nfsd = now; } @@ -230,7 +230,7 @@ void *proc_main(void *ptr) if(!vdo_proc_net_rpc_nfs) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_rpc_nfs()."); - now = time_usec(); + now = now_realtime_usec(); vdo_proc_net_rpc_nfs = do_proc_net_rpc_nfs(rrd_update_every, (sutime_proc_net_rpc_nfs > 0)?now - sutime_proc_net_rpc_nfs:0ULL); sutime_proc_net_rpc_nfs = now; } diff --git a/src/sys_fs_cgroup.c b/src/sys_fs_cgroup.c index cef5c721..718231cc 100644 --- a/src/sys_fs_cgroup.c +++ b/src/sys_fs_cgroup.c @@ -1445,11 +1445,11 @@ void *cgroups_main(void *ptr) if(unlikely(netdata_exit)) break; // delay until it is our time to run - while((sunow = time_usec()) < sunext) + while((sunow = now_realtime_usec()) < sunext) sleep_usec(sunext - sunow); // find the next time we need to run - while(time_usec() > sunext) + while(now_realtime_usec() > sunext) sunext += rrd_update_every * 1000000ULL; if(unlikely(netdata_exit)) break; @@ -1458,7 +1458,7 @@ void *cgroups_main(void *ptr) if(!vdo_sys_fs_cgroup) { debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_sys_fs_cgroup()."); - sunow = time_usec(); + sunow = now_realtime_usec(); vdo_sys_fs_cgroup = do_sys_fs_cgroup(rrd_update_every, (sutime_sys_fs_cgroup > 0)?sunow - sutime_sys_fs_cgroup:0ULL); sutime_sys_fs_cgroup = sunow; } -- 2.39.2