Class: Hitimes::ValueMetric

### Home Classes Methods

### In Files

- lib/hitimes/value_metric.rb

### Parent

Hitimes::Metric

### Methods

- ::new
- #measure
- #to_hash

### Files

- Manifest.txt

### Class/Module Index

Quicksearch

- Hitimes
- Hitimes::Error
- Hitimes::Metric
- Hitimes::MutexedStats
- Hitimes::Paths
- Hitimes::Stats
- Hitimes::TimedMetric
- Hitimes::TimedValueMetric
- Hitimes::ValueMetric

No matching classes.

# Hitimes::ValueMetric

A ValueMetric holds the data from measuring a single value over a period of time. In most cases this may be a single measurement at a single point in time.

A good example of a ValueMetric is measuring the number of items in a queue.

A ValueMetric contains a Stats object, therefore ValueMetric has `count`, `max`, `mean`, `min`, `stddev`, `sum`, `sumsq` methods that delegate to that Stats object for convenience.

### Attributes

stats[R]

holds all the statistics

### Public Class Methods

new( 'my_metric' ) → ValueMetric click to toggle source
new( 'my_metric', 'foo' => 'bar', 'this' => 42 ) → ValueMetric

Create a new ValueMetric giving it a name and additional data. `additional_data` may be anything that follows the `to_hash` protocol.

    # File lib/hitimes/value_metric.rb, line 32
    def initialize( name, additional_data = {} )
      super( name, additional_data )
      @stats = Stats.new
    end

### Public Instance Methods

measure( value ) → Float click to toggle source

Give the `value` as the measurement to the metric. The value is returned

    # File lib/hitimes/value_metric.rb, line 43
    def measure( value )
      @sampling_start_time ||= self.utc_microseconds()
      @sampling_start_interval ||= Interval.now

      @stats.update( value )

      # update the length of time we have been sampling
      @sampling_delta = @sampling_start_interval.duration_so_far
    end

to_hash → Hash click to toggle source

Convert the metric to a hash

    # File lib/hitimes/value_metric.rb, line 59
    def to_hash
      h = super
      (Stats::STATS - ] rate ]).each do |s|
        h[s] = self.send( s )
      end
      return h
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.