deimos-ruby 2.0.9 → 2.0.10.pre.beta1

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: cb70766dd98594ab4629c190ff727423ed2578c9e6ddcf4ba00d9072396ceb17
4
+ data.tar.gz: 46c9ad476e1b01756e5421d7828f752575319e10ebb8cb7051d40fde4eb6286f
5
5
  SHA512:
6
- metadata.gz: 81f16db13e1bb379b771f1ad8e7037064f647ed977ebb3d345e7f2b95ca7df6506ad6aa4880d1fc170b3635bb8c8db10154b7f8150451bf5b1f570897d4f1ba5
7
- data.tar.gz: 3987856deca321867fe18fc2580e2481f7b74d6f3231498e4112c124c8510875e37d77143fcd4441845c907e01ae271c2432417e9f65a30f91275ff8aa27a16c
6
+ metadata.gz: 13015a088d7f98fa42e15e3d060929d06174c7537586a7e0d3b8221758d0fa791c319a3958d8ff84ecfea4451e74888f221cb4d42deea5542afb4ea0d90a05a1
7
+ data.tar.gz: 9f84268fc0bda69f2dde83cc63fe662c364a42c95133124000b8be6ec9311346e0005ffc8bad22ccc93f0e3d4f80a1d3de3e4c4e113fc21241bf6d5b09843895
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,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'deimos/metrics/provider'
4
+ require 'karafka/instrumentation/vendors/datadog/metrics_listener'
5
+ require 'waterdrop/instrumentation/vendors/datadog/metrics_listener'
6
+
7
+ module Deimos
8
+ module Metrics
9
+ # A Metrics wrapper class for Datadog, with only minimal metrics being sent. This will not
10
+ # send any rdkafka metrics, and only the following:
11
+ # * consumer_group
12
+ # * error_occurred
13
+ # * consumer.messages
14
+ # * consumer.batches
15
+ # * consumer.offset
16
+ # * consumer.consumed.time_taken
17
+ # * consumer.batch_size
18
+ # * consumer.processing_lag
19
+ # * consumer.consumption_lag
20
+ class MinimalDatadog < Deimos::Metrics::Datadog
21
+
22
+ def setup_karafka(config={})
23
+ karafka_listener = MinimalDatadogListener.new do |karafka_config|
24
+ karafka_config.client = @client
25
+ if config[:karafka_namespace]
26
+ karafka_config.namespace = config[:karafka_namespace]
27
+ end
28
+ if config[:karafka_distribution_mode]
29
+ karafka_config.distribution_mode = config[:karafka_distribution_mode]
30
+ end
31
+ karafka_config.rd_kafka_metrics = []
32
+ end
33
+ Karafka.monitor.subscribe(karafka_listener)
34
+ end
35
+
36
+ end
37
+ end
38
+ 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-beta1'
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.beta1
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: