Class: Harness::Measurement

Inherits:
Object
  • Object
show all
Defined in:
lib/harness/measurement.rb

Direct Known Subclasses

Counter, Gauge

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Measurement

Returns a new instance of Measurement.



5
6
7
8
9
10
11
# File 'lib/harness/measurement.rb', line 5

def initialize(attributes = {})
  attributes.each_pair do |name, value|
    send "#{name}=", value
  end

  self.time ||= Time.now
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def id
  @id
end

#nameObject

Returns the value of attribute name.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def name
  @name
end

#sourceObject

Returns the value of attribute source.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def source
  @source
end

#timeObject

Returns the value of attribute time.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def time
  @time
end

#unitsObject

Returns the value of attribute units.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def units
  @units
end

#valueObject

Returns the value of attribute value.



3
4
5
# File 'lib/harness/measurement.rb', line 3

def value
  @value
end

Instance Method Details

#attributesObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/harness/measurement.rb', line 27

def attributes
  { 
    :id => id,
    :name => name,
    :source => source,
    :time => time,
    :units => units,
    :value => value
  }
end

#logObject



23
24
25
# File 'lib/harness/measurement.rb', line 23

def log
  Harness.log self
end