Module: Belt::Observability::Metrics

Defined in:
lib/belt/observability.rb

Overview

Metrics facade — delegates to a LambdaLoadout::Metrics instance

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.instanceObject

Returns the value of attribute instance.



42
43
44
# File 'lib/belt/observability.rb', line 42

def instance
  @instance
end

Class Method Details

.add_dimension(name:, value:) ⇒ Object



48
49
50
# File 'lib/belt/observability.rb', line 48

def add_dimension(name:, value:)
  instance&.add_dimension(name: name, value: value)
end

.add_metric(name:, unit:, value:) ⇒ Object



44
45
46
# File 'lib/belt/observability.rb', line 44

def add_metric(name:, unit:, value:)
  instance&.add_metric(name: name, unit: unit, value: value)
end

.track_event(event_name, **dimensions) ⇒ Object



52
53
54
55
# File 'lib/belt/observability.rb', line 52

def track_event(event_name, **dimensions)
  instance&.add_metric(name: event_name, unit: 'Count', value: 1)
  dimensions.each { |k, v| instance&.add_dimension(name: k.to_s, value: v.to_s) }
end

.track_value(metric_name, value, unit: 'None', **dimensions) ⇒ Object



57
58
59
60
# File 'lib/belt/observability.rb', line 57

def track_value(metric_name, value, unit: 'None', **dimensions)
  instance&.add_metric(name: metric_name, unit: unit, value: value)
  dimensions.each { |k, v| instance&.add_dimension(name: k.to_s, value: v.to_s) }
end