Class: Meter::Backends::Datadog
Instance Attribute Summary
Attributes inherited from Udp
#host, #port
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Udp
#initialize, #output_data, #socket
Methods inherited from Base
#emit_metric, #output_data, #supported_metric?
Class Method Details
.supported_metrics ⇒ Object
7
8
9
|
# File 'lib/meter/backends/datadog.rb', line 7
def self.supported_metrics
[:counter, :gauge, :timing, :histogram]
end
|
Instance Method Details
17
18
19
|
# File 'lib/meter/backends/datadog.rb', line 17
def convert_tags_to_datadog_format(tags = {})
tags.map{|key,val| "#{key}:#{val}"}.join(',')
end
|
11
12
13
14
15
|
# File 'lib/meter/backends/datadog.rb', line 11
def convert_to_backend_format(metric)
rate = "|@#{metric.sample_rate}" unless metric.sample_rate == 1
tags = "|##{convert_tags_to_datadog_format(metric.tags)}" unless metric.tags.empty?
"#{metric.name}:#{metric.value}|#{statsd_type(metric)}#{rate}#{tags}"
end
|
#statsd_type(metric) ⇒ Object
21
22
23
24
|
# File 'lib/meter/backends/datadog.rb', line 21
def statsd_type(metric)
types = {counter: 'c', gauge: 'g', timing: 'ms', histogram: 'h'}
types[metric.type]
end
|