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 
     |