Class: StatsD::Instrument::DatagramBuilder
- Inherits:
-
Object
- Object
- StatsD::Instrument::DatagramBuilder
show all
- Defined in:
- lib/statsd/instrument/datagram_builder.rb
Overview
Note:
This class is part of the new Client implementation that is intended
to become the new default in the next major release of this library.
Defined Under Namespace
Modules: RubyBackports
Class Method Summary
collapse
Instance Method Summary
collapse
-
#c(name, value, sample_rate, tags) ⇒ Object
-
#d(name, value, sample_rate, tags) ⇒ Object
-
#g(name, value, sample_rate, tags) ⇒ Object
-
#h(name, value, sample_rate, tags) ⇒ Object
-
#initialize(prefix: nil, default_tags: nil) ⇒ DatagramBuilder
constructor
A new instance of DatagramBuilder.
-
#kv(name, value, sample_rate, tags) ⇒ Object
-
#latency_metric_type ⇒ Object
-
#ms(name, value, sample_rate, tags) ⇒ Object
-
#s(name, value, sample_rate, tags) ⇒ Object
Constructor Details
#initialize(prefix: nil, default_tags: nil) ⇒ DatagramBuilder
Returns a new instance of DatagramBuilder.
30
31
32
33
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 30
def initialize(prefix: nil, default_tags: nil)
@prefix = prefix.nil? ? "" : "#{normalize_name(prefix)}."
@default_tags = normalize_tags(default_tags)
end
|
Class Method Details
.datagram_class ⇒ Object
26
27
28
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 26
def self.datagram_class
StatsD::Instrument::Datagram
end
|
.unsupported_datagram_types(*types) ⇒ Object
18
19
20
21
22
23
24
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 18
def self.unsupported_datagram_types(*types)
types.each do |type|
define_method(type) do |_, _, _, _|
raise NotImplementedError, "Type #{type} metrics are not supported by #{self.class.name}."
end
end
end
|
Instance Method Details
#c(name, value, sample_rate, tags) ⇒ Object
35
36
37
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 35
def c(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'c', sample_rate, tags)
end
|
#d(name, value, sample_rate, tags) ⇒ Object
55
56
57
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 55
def d(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'd', sample_rate, tags)
end
|
#g(name, value, sample_rate, tags) ⇒ Object
39
40
41
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 39
def g(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'g', sample_rate, tags)
end
|
#h(name, value, sample_rate, tags) ⇒ Object
51
52
53
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 51
def h(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'h', sample_rate, tags)
end
|
#kv(name, value, sample_rate, tags) ⇒ Object
59
60
61
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 59
def kv(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'kv', sample_rate, tags)
end
|
#latency_metric_type ⇒ Object
63
64
65
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 63
def latency_metric_type
:ms
end
|
#ms(name, value, sample_rate, tags) ⇒ Object
43
44
45
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 43
def ms(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 'ms', sample_rate, tags)
end
|
#s(name, value, sample_rate, tags) ⇒ Object
47
48
49
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 47
def s(name, value, sample_rate, tags)
generate_generic_datagram(name, value, 's', sample_rate, tags)
end
|