class MCollective::RunnerStats
Class to store stats about the mcollectived, it should live in the PluginManager so that agents etc can get hold of it and return the stats to callers
Public Class Methods
new()
click to toggle source
# File lib/mcollective/runnerstats.rb, line 5 def initialize @starttime = Time.now.to_i @validated = 0 @unvalidated = 0 @filtered = 0 @passed = 0 @total = 0 @replies = 0 @ttlexpired = 0 @mutex = Mutex.new end
Public Instance Methods
filtered()
click to toggle source
Records a message that didnt pass the filters
# File lib/mcollective/runnerstats.rb, line 31 def filtered Log.debug("Incrementing filtered stat") @filtered += 1 end
passed()
click to toggle source
Records a message that passed the filters
# File lib/mcollective/runnerstats.rb, line 25 def passed Log.debug("Incrementing passed stat") @passed += 1 end
received()
click to toggle source
Records receipt of a message
# File lib/mcollective/runnerstats.rb, line 48 def received Log.debug("Incrementing total stat") @total += 1 end
sent()
click to toggle source
Records sending a message
# File lib/mcollective/runnerstats.rb, line 54 def sent @mutex.synchronize do Log.debug("Incrementing replies stat") @replies += 1 end end
to_hash()
click to toggle source
Returns a hash with all stats
# File lib/mcollective/runnerstats.rb, line 62 def to_hash stats = {:validated => @validated, :unvalidated => @unvalidated, :passed => @passed, :filtered => @filtered, :starttime => @starttime, :total => @total, :ttlexpired => @ttlexpired, :replies => @replies} reply = {:stats => stats, :threads => [], :pid => Process.pid, :times => {} } ::Process.times.each_pair{|k,v| k = k.to_sym reply[:times][k] = v } Thread.list.each do |t| reply[:threads] << "#{t.inspect}" end reply[:agents] = Agents.agentlist reply end
ttlexpired()
click to toggle source
Records a message that failed TTL checks
# File lib/mcollective/runnerstats.rb, line 19 def ttlexpired Log.debug("Incrementing ttl expired stat") @ttlexpired += 1 end
unvalidated()
click to toggle source
# File lib/mcollective/runnerstats.rb, line 42 def unvalidated Log.debug("Incrementing unvalidated stat") @unvalidated += 1 end
validated()
click to toggle source
Records a message that validated ok
# File lib/mcollective/runnerstats.rb, line 37 def validated Log.debug("Incrementing validated stat") @validated += 1 end