Class: StatsD::Instrument::DatagramBuilder

Inherits:
Object
  • Object
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

Constructor Details

#initialize(prefix: nil, default_tags: nil) ⇒ DatagramBuilder

Returns a new instance of DatagramBuilder.



20
21
22
23
# File 'lib/statsd/instrument/datagram_builder.rb', line 20

def initialize(prefix: nil, default_tags: nil)
  @prefix = prefix.nil? ? "" : "#{normalize_name(prefix)}."
  @default_tags = normalize_tags(default_tags)
end

Class Method Details

.datagram_classObject



16
17
18
# File 'lib/statsd/instrument/datagram_builder.rb', line 16

def self.datagram_class
  StatsD::Instrument::Datagram
end

.unsupported_datagram_types(*types) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/statsd/instrument/datagram_builder.rb', line 8

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



25
26
27
# File 'lib/statsd/instrument/datagram_builder.rb', line 25

def c(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "c", sample_rate, tags)
end

#d(name, value, sample_rate, tags) ⇒ Object



45
46
47
# File 'lib/statsd/instrument/datagram_builder.rb', line 45

def d(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "d", sample_rate, tags)
end

#g(name, value, sample_rate, tags) ⇒ Object



29
30
31
# File 'lib/statsd/instrument/datagram_builder.rb', line 29

def g(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "g", sample_rate, tags)
end

#h(name, value, sample_rate, tags) ⇒ Object



41
42
43
# File 'lib/statsd/instrument/datagram_builder.rb', line 41

def h(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "h", sample_rate, tags)
end

#kv(name, value, sample_rate, tags) ⇒ Object



49
50
51
# File 'lib/statsd/instrument/datagram_builder.rb', line 49

def kv(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "kv", sample_rate, tags)
end

#latency_metric_typeObject



53
54
55
# File 'lib/statsd/instrument/datagram_builder.rb', line 53

def latency_metric_type
  :ms
end

#ms(name, value, sample_rate, tags) ⇒ Object



33
34
35
# File 'lib/statsd/instrument/datagram_builder.rb', line 33

def ms(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "ms", sample_rate, tags)
end

#s(name, value, sample_rate, tags) ⇒ Object



37
38
39
# File 'lib/statsd/instrument/datagram_builder.rb', line 37

def s(name, value, sample_rate, tags)
  generate_generic_datagram(name, value, "s", sample_rate, tags)
end