Class: Meter::Backends::Statsd

Inherits:
Udp
  • Object
show all
Defined in:
lib/meter/backends/statsd.rb

Direct Known Subclasses

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?

Constructor Details

This class inherits a constructor from Meter::Backends::Udp

Class Method Details

.supported_metricsObject



7
8
9
# File 'lib/meter/backends/statsd.rb', line 7

def self.supported_metrics
  [:counter, :gauge, :timing]
end

Instance Method Details

#convert_to_backend_format(metric) ⇒ Object



11
12
13
14
# File 'lib/meter/backends/statsd.rb', line 11

def convert_to_backend_format(metric)
  rate = "|@#{metric.sample_rate}" unless metric.sample_rate == 1
  "#{metric.name}:#{metric.value}|#{statsd_type(metric)}#{rate}"
end

#statsd_type(metric) ⇒ Object



16
17
18
19
# File 'lib/meter/backends/statsd.rb', line 16

def statsd_type(metric)
  types = {counter: 'c', gauge: 'g', timing: 'ms'}
  types[metric.type]
end