Class: Dynflow::TelemetryAdapters::StatsD
- Inherits:
-
Abstract
- Object
- Abstract
- Dynflow::TelemetryAdapters::StatsD
show all
- Defined in:
- lib/dynflow/telemetry_adapters/statsd.rb
Constant Summary
Constants inherited
from Abstract
Abstract::DEFAULT_BUCKETS
Instance Method Summary
collapse
-
#add_counter(name, description, instance_labels) ⇒ Object
-
#add_gauge(name, description, instance_labels) ⇒ Object
-
#add_histogram(name, description, instance_labels, buckets = DEFAULT_BUCKETS) ⇒ Object
-
#increment_counter(name, value, tags) ⇒ Object
-
#initialize(host = '127.0.0.1:8125') ⇒ StatsD
constructor
A new instance of StatsD.
-
#observe_histogram(name, value, tags) ⇒ Object
-
#set_gauge(name, value, tags) ⇒ Object
Methods inherited from Abstract
#measure, #with_instance
Constructor Details
#initialize(host = '127.0.0.1:8125') ⇒ StatsD
Returns a new instance of StatsD.
6
7
8
9
10
11
12
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 6
def initialize(host = '127.0.0.1:8125')
require 'statsd-instrument'
@instances = {}
@host = host
::StatsD.backend = ::StatsD::Instrument::Backends::UDPBackend.new(host, :statsd)
end
|
Instance Method Details
#add_counter(name, description, instance_labels) ⇒ Object
14
15
16
17
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 14
def add_counter(name, description, instance_labels)
raise "Metric already registered: #{name}" if @instances[name]
@instances[name] = instance_labels
end
|
#add_gauge(name, description, instance_labels) ⇒ Object
19
20
21
22
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 19
def add_gauge(name, description, instance_labels)
raise "Metric already registered: #{name}" if @instances[name]
@instances[name] = instance_labels
end
|
#add_histogram(name, description, instance_labels, buckets = DEFAULT_BUCKETS) ⇒ Object
24
25
26
27
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 24
def add_histogram(name, description, instance_labels, buckets = DEFAULT_BUCKETS)
raise "Metric already registered: #{name}" if @instances[name]
@instances[name] = instance_labels
end
|
#increment_counter(name, value, tags) ⇒ Object
29
30
31
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 29
def increment_counter(name, value, tags)
::StatsD.increment(name_tag_mapping(name, tags), value)
end
|
#observe_histogram(name, value, tags) ⇒ Object
37
38
39
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 37
def observe_histogram(name, value, tags)
::StatsD.measure(name_tag_mapping(name, tags), value)
end
|
#set_gauge(name, value, tags) ⇒ Object
33
34
35
|
# File 'lib/dynflow/telemetry_adapters/statsd.rb', line 33
def set_gauge(name, value, tags)
::StatsD.gauge(name_tag_mapping(name, tags), value)
end
|