Class: Deimos::Metrics::MinimalDatadog

Inherits:
Datadog show all
Defined in:
lib/deimos/metrics/minimal_datadog.rb

Overview

A Metrics wrapper class for Datadog, with only minimal metrics being sent. This will not send any rdkafka metrics, and only the following:

  • consumer_group

  • error_occurred

  • consumer.messages

  • consumer.batches

  • consumer.offset

  • consumer.consumed.time_taken

  • consumer.batch_size

  • consumer.processing_lag

  • consumer.consumption_lag

Instance Method Summary collapse

Methods inherited from Datadog

#gauge, #histogram, #increment, #initialize, #setup_waterdrop, #time

Methods inherited from Provider

#gauge, #histogram, #increment, #time

Constructor Details

This class inherits a constructor from Deimos::Metrics::Datadog

Instance Method Details

#setup_karafka(config = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/deimos/metrics/minimal_datadog.rb', line 22

def setup_karafka(config={})
  karafka_listener = MinimalDatadogListener.new do |karafka_config|
    karafka_config.client = @client
    if config[:karafka_namespace]
      karafka_config.namespace = config[:karafka_namespace]
    end
    if config[:karafka_distribution_mode]
      karafka_config.distribution_mode = config[:karafka_distribution_mode]
    end
    karafka_config.rd_kafka_metrics = []
  end
  Karafka.monitor.subscribe(karafka_listener)
end