From 4a39b56c7aefdd9794add4468c7dbe87ff683ce8 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Sun, 26 Oct 2014 17:36:29 +1100 Subject: [PATCH] Run munin-asyncd fetching on wall clock type Patch by Picnic Pete: https://github.com/picnicpete --- node/_bin/munin-asyncd.in | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/node/_bin/munin-asyncd.in b/node/_bin/munin-asyncd.in index 8efe50f..4811b2d 100644 --- a/node/_bin/munin-asyncd.in +++ b/node/_bin/munin-asyncd.in @@ -160,9 +160,14 @@ MAIN: while($keepgoing) { next; } - # Should update it - $last_updated{$plugin} = $when; - $when_next = min($when_next, $when + max($plugin_rate, $minrate)); + # Should update it - based on wall clock time + my $should_have_been = $when - ($when % $plugin_rate); + my $should_be_next = $should_have_been + $plugin_rate; + + $last_updated{$plugin} = $should_have_been; + if ($should_be_next < $when_next) { + $when_next = $should_be_next; + } if ($do_fork && fork()) { # parent, return directly