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.

Defined Under Namespace

Modules: RubyBackports

Class Method Summary collapse

Instance Method Summary collapse

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_classObject



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_typeObject



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