From 94926f53db8a7244f1af34e30607fdc2908ffa8e Mon Sep 17 00:00:00 2001 From: Saku Ytti Date: Wed, 7 May 2014 12:23:36 +0300 Subject: Stats for node So that we can easily check last time node failed/succceded etc --- lib/oxidized/node/stats.rb | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/oxidized/node/stats.rb (limited to 'lib/oxidized/node') diff --git a/lib/oxidized/node/stats.rb b/lib/oxidized/node/stats.rb new file mode 100644 index 0000000..6b5719c --- /dev/null +++ b/lib/oxidized/node/stats.rb @@ -0,0 +1,33 @@ +module Oxidized + class Node + class Stats + MAX_STAT = 10 + + # @param [Job] job job whose information add to stats + # @return [void] + def add job + stat = { + :start => job.start, + :end => job.end, + :time => job.time, + } + @stats[job.status] ||= [] + @stats[job.status].shift if @stats[job.status].size > MAX_STAT + @stats[job.status].push stat + end + + # @param [Symbol] status stats for specific status + # @return [Hash,Array] Hash of stats for every status or Array of stats for specific status + def get status=nil + status ? @stats[status] : @stats + end + + private + + def initialize + @stats = {} + end + + end + end +end -- cgit v1.2.1