module Metrician
Reference materials: github.com/resque/resque/blob/master/docs/HOOKS.md
Constants
- AgentNotInitialized
- DEFAULT_PREFIX
- IncompatibleAgent
- MissingAgent
- REQUIRED_AGENT_METHODS
- VERSION
Public Class Methods
activate(agent)
click to toggle source
# File lib/metrician.rb, line 23 def self.activate(agent) self.agent = agent Metrician::Reporter.all.each(&:instrument) end
agent()
click to toggle source
# File lib/metrician.rb, line 40 def self.agent @agent || raise(AgentNotInitialized.new) end
agent=(agent)
click to toggle source
# File lib/metrician.rb, line 28 def self.agent=(agent) if agent.nil? raise MissingAgent.new end REQUIRED_AGENT_METHODS.each do |method| raise IncompatibleAgent.new("agent must implement #{method}") unless agent.respond_to?(method) end @agent = agent end
configuration()
click to toggle source
# File lib/metrician.rb, line 78 def self.configuration @configuration ||= Metrician::Configuration.load end
dotify(klass)
click to toggle source
# File lib/metrician.rb, line 52 def self.dotify(klass) klass.to_s.underscore.gsub(%r{/}, ".") end
gauge(metric, value)
click to toggle source
TODO: add block form
# File lib/metrician.rb, line 74 def self.gauge(metric, value) prefixed? ? agent.gauge("#{prefix}#{metric}", value) : agent.gauge(metric, value) end
increment(metric, value = 1)
click to toggle source
# File lib/metrician.rb, line 69 def self.increment(metric, value = 1) prefixed? ? agent.increment("#{prefix}#{metric}", value) : agent.increment(metric, value) end
logger()
click to toggle source
# File lib/metrician.rb, line 48 def self.logger agent.logger end
logger=(logger)
click to toggle source
# File lib/metrician.rb, line 44 def self.logger=(logger) agent.logger = logger end
prefix()
click to toggle source
# File lib/metrician.rb, line 61 def self.prefix @prefix ||= DEFAULT_PREFIX end
prefix=(prefix)
click to toggle source
# File lib/metrician.rb, line 56 def self.prefix=(prefix) @prefixed = nil @prefix = prefix.to_s[-1] == "." ? prefix.to_s : "#{prefix}." end
prefixed?()
click to toggle source
# File lib/metrician.rb, line 65 def self.prefixed? @prefixed ||= !prefix.empty? end
reset()
click to toggle source
# File lib/metrician.rb, line 82 def self.reset %i[@agent @configuration].each do |memo_ivar| if Metrician.instance_variable_defined?(memo_ivar) Metrician.remove_instance_variable(memo_ivar) end end end