From 9fab2a507fcf10ae5c61bbd8e6a3534f64a66589 Mon Sep 17 00:00:00 2001 From: Saku Ytti Date: Tue, 12 Jun 2018 12:37:32 +0300 Subject: Honor mtime in stats Store N last mtimes --- CHANGELOG.md | 1 + lib/oxidized/node/stats.rb | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19c788b..73194e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Master * FEATURE: add frr support to cumulus model (@User4574 / @bobthebutcher) +* FEATURE: honour MAX_STAT in mtime, to store last N mtime ## 0.23.0 diff --git a/lib/oxidized/node/stats.rb b/lib/oxidized/node/stats.rb index fbc2cf7..9b153ee 100644 --- a/lib/oxidized/node/stats.rb +++ b/lib/oxidized/node/stats.rb @@ -1,7 +1,6 @@ module Oxidized class Node class Stats - attr_accessor :mtime MAX_STAT = 10 # @param [Job] job job whose information add to stats @@ -36,15 +35,24 @@ module Oxidized @stats[:counter].reduce(0) { |m, h| h[0] == :success ? m : m + h[1] } end + def mtimes + @mtimes + end + + def mtime + mtimes.last + end + def update_mtime - @mtime = Time.now.utc + @mtimes.push Time.now.utc + @mtimes.shift if @mtimes.size > MAX_STAT end private def initialize - @mtime = "unknown" - @stats = {} + @mtimes = Array.new(MAX_STAT, "unknown") + @stats = {} @stats[:counter] = Hash.new 0 end end -- cgit v1.2.1