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.
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.
22
23
24
25
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 22
def initialize(prefix: nil, default_tags: nil)
@prefix = prefix.nil? ? "" : "#{prefix}.".tr(":|@", "_")
@default_tags = default_tags.nil? || default_tags.empty? ? nil : compile_tags(default_tags, "|#".b)
end
|
Class Method Details
.datagram_class ⇒ Object
17
18
19
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 17
def datagram_class
StatsD::Instrument::Datagram
end
|
.unsupported_datagram_types(*types) ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 9
def 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
27
28
29
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 27
def c(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "c", sample_rate, tags)
end
|
#d(name, value, sample_rate, tags) ⇒ Object
47
48
49
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 47
def d(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "d", sample_rate, tags)
end
|
#g(name, value, sample_rate, tags) ⇒ Object
31
32
33
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 31
def g(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "g", sample_rate, tags)
end
|
#h(name, value, sample_rate, tags) ⇒ Object
43
44
45
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 43
def h(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "h", sample_rate, tags)
end
|
#kv(name, value, sample_rate, tags) ⇒ Object
51
52
53
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 51
def kv(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "kv", sample_rate, tags)
end
|
#latency_metric_type ⇒ Object
55
56
57
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 55
def latency_metric_type
:ms
end
|
#ms(name, value, sample_rate, tags) ⇒ Object
35
36
37
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 35
def ms(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "ms", sample_rate, tags)
end
|
#s(name, value, sample_rate, tags) ⇒ Object
39
40
41
|
# File 'lib/statsd/instrument/datagram_builder.rb', line 39
def s(name, value, sample_rate, tags)
generate_generic_datagram(name, value, "s", sample_rate, tags)
end
|