Method: NewRelic::Agent::StatsHash#record

Defined in:
lib/new_relic/agent/stats_engine/stats_hash.rb

#record(metric_specs, value = nil, aux = nil, &blk) ⇒ Object

[View source]

101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/new_relic/agent/stats_engine/stats_hash.rb', line 101

def record(metric_specs, value = nil, aux = nil, &blk)
  Array(metric_specs).each do |metric_spec|
    if metric_spec.scope.empty?
      key = metric_spec.name
      hash = @unscoped
    else
      key = metric_spec
      hash = @scoped
    end

    begin
      stats = hash[key]
    rescue NoMethodError => e
      stats = handle_stats_lookup_error(key, hash, e)
    end

    stats.record(value, aux, &blk)
  end
end