Method: NewRelic::Agent.record_metric

Defined in:
lib/new_relic/agent.rb

.record_metric(metric_name, value) ⇒ Object

Record a value for the given metric name.

This method should be used to record event-based metrics such as method calls that are associated with a specific duration or magnitude.

metric_name should follow a slash separated path convention. Application specific metrics should begin with “Custom/”.

value should be either a single Numeric value representing the duration/ magnitude of the event being recorded, or a Hash containing :count, :total, :min, :max, and :sum_of_squares keys. The latter form is useful for recording pre-aggregated metrics collected externally.

This method is safe to use from any thread.



298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/new_relic/agent.rb', line 298

def record_metric(metric_name, value) # THREAD_LOCAL_ACCESS
  record_api_supportability_metric(:record_metric)

  return unless agent

  if value.is_a?(Hash)
    stats = NewRelic::Agent::Stats.new
    value = stats.hash_merge(value)
  end

  agent.stats_engine.tl_record_unscoped_metrics(metric_name, value)
end