Class: WaterDrop::Instrumentation::Vendors::Datadog::MetricsListener
- Inherits:
-
Object
- Object
- WaterDrop::Instrumentation::Vendors::Datadog::MetricsListener
- Extended by:
- Forwardable
- Includes:
- Karafka::Core::Configurable
- Defined in:
- lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb
Overview
Note:
You need to setup the ‘dogstatsd-ruby` client and assign it
Listener that can be used to subscribe to WaterDrop producer to receive stats via StatsD and/or Datadog
Defined Under Namespace
Classes: RdKafkaMetric
Instance Method Summary collapse
-
#initialize(&block) ⇒ MetricsListener
constructor
A new instance of MetricsListener.
-
#on_error_occurred(_event) ⇒ Object
Increases the errors count by 1.
-
#on_message_acknowledged(_event) ⇒ Object
Increases acknowledged messages counter.
-
#on_statistics_emitted(event) ⇒ Object
Hooks up to WaterDrop instrumentation for emitted statistics.
- #setup(&block) ⇒ Object
Constructor Details
#initialize(&block) ⇒ MetricsListener
Returns a new instance of MetricsListener.
56 57 58 59 |
# File 'lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb', line 56 def initialize(&block) configure setup(&block) if block end |
Instance Method Details
#on_error_occurred(_event) ⇒ Object
Increases the errors count by 1
81 82 83 |
# File 'lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb', line 81 def on_error_occurred(_event) count('error_occurred', 1, tags: ) end |
#on_message_acknowledged(_event) ⇒ Object
Increases acknowledged messages counter
87 88 89 |
# File 'lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb', line 87 def (_event) increment('acknowledged', tags: ) end |
#on_statistics_emitted(event) ⇒ Object
Hooks up to WaterDrop instrumentation for emitted statistics
70 71 72 73 74 75 76 |
# File 'lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb', line 70 def on_statistics_emitted(event) statistics = event[:statistics] rd_kafka_metrics.each do |metric| report_metric(metric, statistics) end end |
#setup(&block) ⇒ Object
Note:
We define this alias to be consistent with ‘WaterDrop#setup`
63 64 65 |
# File 'lib/waterdrop/instrumentation/vendors/datadog/metrics_listener.rb', line 63 def setup(&block) configure(&block) end |