Class: Monitoring::Client::Routine

Inherits:
Object
  • Object
show all
Defined in:
lib/monitoring/client/routine.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Routine

Returns a new instance of Routine.



9
10
11
12
# File 'lib/monitoring/client/routine.rb', line 9

def initialize(name)
  @name = name
  @metrics = Hash.new do |h, k| h[k] = Metric.new(k) end
end

Instance Attribute Details

#metricsObject (readonly)

Returns the value of attribute metrics.



7
8
9
# File 'lib/monitoring/client/routine.rb', line 7

def metrics
  @metrics
end

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/monitoring/client/routine.rb', line 7

def name
  @name
end

Instance Method Details

#count(metric_name, increment_by = 1, units = nil) ⇒ Object



22
23
24
25
# File 'lib/monitoring/client/routine.rb', line 22

def count(metric_name, increment_by = 1, units = nil)
  @metrics[metric_name].value = (@metrics[metric_name].value || 0) + increment_by
  @metrics[metric_name].units = units
end

#time(metric_name = "time") ⇒ Object



15
16
17
18
19
20
# File 'lib/monitoring/client/routine.rb', line 15

def time(metric_name = "time")
  t0 = Time.now.to_f
  yield
  @metrics[metric_name].value = Time.now.to_f - t0
  @metrics[metric_name].units = "s"
end