deimos-ruby 2.0.9 → 2.0.10.pre.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92731be6e1a6201342daabf81bd8cd372878fba093fbb2270563011d491e28b2
4
- data.tar.gz: a962ce1af7393ef2cb63d7a60d4b55e673ef67544e59ec91c46418a668f02f82
3
+ metadata.gz: 23025b1a981eb123dc6b6132b7fb2392f359f488c31767705df71b8d94a15da9
4
+ data.tar.gz: 5ea5c5ef3fd0e9231b76dd8e30dbc2a5cdd3b03110816515d599a38e47ec3fb4
5
5
  SHA512:
6
- metadata.gz: 81f16db13e1bb379b771f1ad8e7037064f647ed977ebb3d345e7f2b95ca7df6506ad6aa4880d1fc170b3635bb8c8db10154b7f8150451bf5b1f570897d4f1ba5
7
- data.tar.gz: 3987856deca321867fe18fc2580e2481f7b74d6f3231498e4112c124c8510875e37d77143fcd4441845c907e01ae271c2432417e9f65a30f91275ff8aa27a16c
6
+ metadata.gz: be050b68644f19a270e9fe81dadf7f98febf530d3f65aac420b2707a96b14e9c261a01236a345eec32f97776d96a88a35b34d401f46afe828b468a7d6bff95b1
7
+ data.tar.gz: 377de51ae9d80b6a35c05c736418cea668d9e4b3de7d30dfaf0ac619ebdaa84b62ae48e90bd412a18988c88382195c9c035faf7965238b196a76933d53ecdf8d
data/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## UNRELEASED
9
9
 
10
+ - Feature: Add MinimalDatadog metrics listener.
11
+
10
12
  ## 2.0.9 - 2025-04-10
11
13
 
12
14
  - Fix: KafkaTopicInfo: Change reference to variable instead of plain string
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'deimos/metrics/provider'
4
+ require 'deimos/metrics/datadog'
5
+ require 'karafka/instrumentation/vendors/datadog/metrics_listener'
6
+ require 'waterdrop/instrumentation/vendors/datadog/metrics_listener'
7
+
8
+ module Deimos
9
+ module Metrics
10
+ # A Metrics wrapper class for Datadog, with only minimal metrics being sent. This will not
11
+ # send any rdkafka metrics, and only the following:
12
+ # * consumer_group
13
+ # * error_occurred
14
+ # * consumer.messages
15
+ # * consumer.batches
16
+ # * consumer.offset
17
+ # * consumer.consumed.time_taken
18
+ # * consumer.batch_size
19
+ # * consumer.processing_lag
20
+ # * consumer.consumption_lag
21
+ class MinimalDatadog < Deimos::Metrics::Datadog
22
+
23
+ def setup_karafka(config={})
24
+ karafka_listener = MinimalDatadogListener.new do |karafka_config|
25
+ karafka_config.client = @client
26
+ if config[:karafka_namespace]
27
+ karafka_config.namespace = config[:karafka_namespace]
28
+ end
29
+ if config[:karafka_distribution_mode]
30
+ karafka_config.distribution_mode = config[:karafka_distribution_mode]
31
+ end
32
+ karafka_config.rd_kafka_metrics = []
33
+ end
34
+ Karafka.monitor.subscribe(karafka_listener)
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,13 @@
1
+ module Deimos
2
+ module Metrics
3
+ class MinimalDatadogListener < ::Karafka::Instrumentation::Vendors::Datadog::MetricsListener
4
+ # override existing listener so we don't emit metrics we don't care about
5
+ def on_connection_listener_fetch_loop_received(_event); end
6
+ def on_consumer_revoked(_event); end
7
+ def on_consumer_shutdown(_event); end
8
+ def on_consumer_ticked(_event); end
9
+ def on_worker_process(_event); end
10
+ def on_worker_processed(_event); end
11
+ end
12
+ end
13
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Deimos
4
- VERSION = '2.0.9'
4
+ VERSION = '2.0.10-beta2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.9
4
+ version: 2.0.10.pre.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-10 00:00:00.000000000 Z
11
+ date: 2025-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro_turf
@@ -467,6 +467,8 @@ files:
467
467
  - lib/deimos/logging.rb
468
468
  - lib/deimos/message.rb
469
469
  - lib/deimos/metrics/datadog.rb
470
+ - lib/deimos/metrics/minimal_datadog.rb
471
+ - lib/deimos/metrics/minimal_datadog_listener.rb
470
472
  - lib/deimos/metrics/mock.rb
471
473
  - lib/deimos/metrics/provider.rb
472
474
  - lib/deimos/poll_info.rb
@@ -641,9 +643,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
641
643
  version: '0'
642
644
  required_rubygems_version: !ruby/object:Gem::Requirement
643
645
  requirements:
644
- - - ">="
646
+ - - ">"
645
647
  - !ruby/object:Gem::Version
646
- version: '0'
648
+ version: 1.3.1
647
649
  requirements: []
648
650
  rubygems_version: 3.4.10
649
651
  signing_key: