Module: Drone::Monitoring::ClassMethods

Defined in:
lib/drone/monitoring.rb

Instance Method Summary collapse

Instance Method Details

#monitor_rate(name) ⇒ Object

Monitor the call rate of the following method

Parameters:

  • name (String)

    metric name, it must be unique and will be shared among all the objects of this class



28
29
30
31
32
33
34
35
36
# File 'lib/drone/monitoring.rb', line 28

def monitor_rate(name)
  meter = Drone::find_metric(name) || Metrics::Meter.new(name)
  unless meter.is_a?(Metrics::Meter)
    raise AlreadyDefined, "metric #{name} is already defined as #{meter.class}"
  end
  
  Drone::register_metric(meter)
  @_rate_waiting = meter
end

#monitor_time(name) ⇒ Object

Monitor the time of execution as well as the call rate

Parameters:

  • name (String)

    metric name, it must be unique and will be shared among all the objects of this class



47
48
49
50
51
52
53
54
# File 'lib/drone/monitoring.rb', line 47

def monitor_time(name)
  timer = Drone::find_metric(name) || Metrics::Timer.new(name)
  unless timer.is_a?(Metrics::Timer)
    raise AlreadyDefined, "metric #{name} is already defined as #{timer.class}"
  end
  Drone::register_metric(timer)
  @_timer_waiting = timer
end