X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcpusleep.c;fp=src%2Fcpusleep.c;h=7cf222720b57b2f79800d140301f07a46961abb5;hb=316e98b3dd28090272627a83cb8c9707380611cd;hp=7dcde8a19698606af63995d28b71588a769b188f;hpb=20686f9216374d414264425b8ba7ecc1582a77f6;p=collectd.git diff --git a/src/cpusleep.c b/src/cpusleep.c index 7dcde8a1..7cf22272 100644 --- a/src/cpusleep.c +++ b/src/cpusleep.c @@ -27,9 +27,9 @@ * Authors: * rinigus - CPU sleep is reported in milliseconds / s. For that, derive type was - selected and the time difference between BOOT and MONOTONIC clocks - fed to RRD + CPU sleep is reported in milliseconds of sleep per second of wall + time. For that, the time difference between BOOT and MONOTONIC clocks + is reported using derive type. **/ @@ -49,7 +49,7 @@ static void cpusleep_submit(derive_t cpu_sleep) vl.values_len = 1; sstrncpy(vl.host, hostname_g, sizeof (vl.host)); sstrncpy(vl.plugin, "cpusleep", sizeof (vl.plugin)); - sstrncpy(vl.type, "cpusleep", sizeof (vl.type)); + sstrncpy(vl.type, "total_time_in_ms", sizeof (vl.type)); plugin_dispatch_values(&vl); } @@ -69,12 +69,9 @@ static int cpusleep_read(void) return (-1); } - double db = b.tv_sec + 1e-9 * b.tv_nsec; - double dm = m.tv_sec + 1e-9 * m.tv_nsec; - // to avoid false positives in counter overflow due to reboot, // derive is used - derive_t sleep = (derive_t) ((db-dm) * 1000); + derive_t sleep = (derive_t) ((b.tv_sec - m.tv_sec)*1e3 + (b.tv_nsec - m.tv_nsec)*1e-6); cpusleep_submit(sleep);