class Yabeda::Datadog::Adapter
DataDog adapter.¶ ↑
Sends yabeda metrics as custom metrics to DataDog. docs.datadoghq.com/integrations/ruby/
Attributes
worker[R]
Public Class Methods
new(worker:)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 17 def initialize(worker:) @worker = worker end
Public Instance Methods
perform_counter_increment!(counter, tags, increment)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 25 def perform_counter_increment!(counter, tags, increment) metric = Metric.new(counter, "count") tags = Tags.build(tags) enqueue_send(metric, increment, tags) end
perform_gauge_set!(gauge, tags, value)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 35 def perform_gauge_set!(gauge, tags, value) metric = Metric.new(gauge, "gauge") tags = Tags.build(tags) enqueue_send(metric, value, tags) end
perform_histogram_measure!(historam, tags, value)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 47 def perform_histogram_measure!(historam, tags, value) metric = Metric.new(historam, "histogram") tags = Tags.build(tags) enqueue_send(metric, value, tags) end
register_counter!(counter)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 21 def register_counter!(counter) enqueue_register(Metric.new(counter, "rate")) end
register_gauge!(gauge)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 31 def register_gauge!(gauge) enqueue_register(Metric.new(gauge, "gauge")) end
register_histogram!(histogram)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 41 def register_histogram!(histogram) Metric.histogram_metrics(histogram).map do |historgam_sub_metric| enqueue_register(historgam_sub_metric) end end
stop()
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 53 def stop worker.stop end
Private Instance Methods
enqueue_register(metric)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 61 def enqueue_register(metric) Logging.instance.debug("enqueue REGISTER action for metric #{metric.name}") worker.enqueue(:REGISTER, metric: metric) end
enqueue_send(metric, value, tags)
click to toggle source
# File lib/yabeda/datadog/adapter.rb, line 66 def enqueue_send(metric, value, tags) Logging.instance.debug("enqueue SEND action for metric #{metric.name}") worker.enqueue(:SEND, metric: metric, value: value, tags: tags) end