karafka 2.0.0.rc2 → 2.0.0.rc5

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +29 -2
  4. data/CONTRIBUTING.md +4 -8
  5. data/Gemfile.lock +9 -21
  6. data/LICENSE-COMM +1 -1
  7. data/README.md +46 -8
  8. data/bin/integrations +1 -1
  9. data/config/errors.yml +4 -0
  10. data/docker-compose.yml +3 -0
  11. data/karafka.gemspec +5 -5
  12. data/lib/karafka/active_job/consumer.rb +2 -0
  13. data/lib/karafka/connection/client.rb +9 -4
  14. data/lib/karafka/connection/listener.rb +21 -7
  15. data/lib/karafka/contracts/base.rb +1 -1
  16. data/lib/karafka/errors.rb +0 -3
  17. data/lib/karafka/instrumentation/callbacks/statistics.rb +1 -2
  18. data/lib/karafka/instrumentation/logger_listener.rb +27 -3
  19. data/lib/karafka/instrumentation/monitor.rb +14 -59
  20. data/lib/karafka/instrumentation/notifications.rb +52 -0
  21. data/lib/karafka/instrumentation/vendors/datadog/dashboard.json +1 -0
  22. data/lib/karafka/instrumentation/vendors/datadog/listener.rb +232 -0
  23. data/lib/karafka/patches/rdkafka/consumer.rb +1 -1
  24. data/lib/karafka/pro/active_job/dispatcher.rb +5 -2
  25. data/lib/karafka/pro/active_job/job_options_contract.rb +1 -0
  26. data/lib/karafka/pro/base_consumer.rb +2 -2
  27. data/lib/karafka/pro/contracts/base.rb +21 -0
  28. data/lib/karafka/pro/contracts/consumer_group.rb +34 -0
  29. data/lib/karafka/pro/contracts/consumer_group_topic.rb +33 -0
  30. data/lib/karafka/pro/loader.rb +21 -3
  31. data/lib/karafka/pro/processing/partitioner.rb +22 -3
  32. data/lib/karafka/pro/routing/builder_extensions.rb +30 -0
  33. data/lib/karafka/pro/routing/{extensions.rb → topic_extensions.rb} +2 -2
  34. data/lib/karafka/process.rb +1 -0
  35. data/lib/karafka/processing/jobs_queue.rb +11 -0
  36. data/lib/karafka/processing/worker.rb +4 -2
  37. data/lib/karafka/server.rb +3 -0
  38. data/lib/karafka/setup/config.rb +3 -3
  39. data/lib/karafka/version.rb +1 -1
  40. data/lib/karafka.rb +3 -2
  41. data.tar.gz.sig +0 -0
  42. metadata +27 -14
  43. metadata.gz.sig +0 -0
data/lib/karafka.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  %w[
4
+ karafka-core
4
5
  delegate
5
6
  English
6
7
  rdkafka
@@ -12,8 +13,6 @@
12
13
  openssl
13
14
  base64
14
15
  date
15
- dry/events/publisher
16
- dry/monitor/notifications
17
16
  zeitwerk
18
17
  ].each(&method(:require))
19
18
 
@@ -88,5 +87,7 @@ loader = Zeitwerk::Loader.for_gem
88
87
  loader.ignore(Karafka.gem_root.join('lib/active_job'))
89
88
  # Do not load pro components, this will be handled by license manager
90
89
  loader.ignore(Karafka.gem_root.join('lib/karafka/pro'))
90
+ # Do not load vendors instrumentation components. Those need to be required manually if needed
91
+ loader.ignore(Karafka.gem_root.join('lib/karafka/instrumentation/vendors'))
91
92
  loader.setup
92
93
  loader.eager_load
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc2
4
+ version: 2.0.0.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -34,36 +34,42 @@ cert_chain:
34
34
  R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
35
35
  pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
36
36
  -----END CERTIFICATE-----
37
- date: 2022-07-19 00:00:00.000000000 Z
37
+ date: 2022-08-01 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
- name: dry-monitor
40
+ name: karafka-core
41
41
  requirement: !ruby/object:Gem::Requirement
42
42
  requirements:
43
- - - "~>"
43
+ - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: '0.5'
45
+ version: 2.0.2
46
+ - - "<"
47
+ - !ruby/object:Gem::Version
48
+ version: 3.0.0
46
49
  type: :runtime
47
50
  prerelease: false
48
51
  version_requirements: !ruby/object:Gem::Requirement
49
52
  requirements:
50
- - - "~>"
53
+ - - ">="
51
54
  - !ruby/object:Gem::Version
52
- version: '0.5'
55
+ version: 2.0.2
56
+ - - "<"
57
+ - !ruby/object:Gem::Version
58
+ version: 3.0.0
53
59
  - !ruby/object:Gem::Dependency
54
60
  name: rdkafka
55
61
  requirement: !ruby/object:Gem::Requirement
56
62
  requirements:
57
63
  - - ">="
58
64
  - !ruby/object:Gem::Version
59
- version: '0.10'
65
+ version: '0.12'
60
66
  type: :runtime
61
67
  prerelease: false
62
68
  version_requirements: !ruby/object:Gem::Requirement
63
69
  requirements:
64
70
  - - ">="
65
71
  - !ruby/object:Gem::Version
66
- version: '0.10'
72
+ version: '0.12'
67
73
  - !ruby/object:Gem::Dependency
68
74
  name: thor
69
75
  requirement: !ruby/object:Gem::Requirement
@@ -84,7 +90,7 @@ dependencies:
84
90
  requirements:
85
91
  - - ">="
86
92
  - !ruby/object:Gem::Version
87
- version: 2.3.3
93
+ version: 2.4.1
88
94
  - - "<"
89
95
  - !ruby/object:Gem::Version
90
96
  version: 3.0.0
@@ -94,7 +100,7 @@ dependencies:
94
100
  requirements:
95
101
  - - ">="
96
102
  - !ruby/object:Gem::Version
97
- version: 2.3.3
103
+ version: 2.4.1
98
104
  - - "<"
99
105
  - !ruby/object:Gem::Version
100
106
  version: 3.0.0
@@ -192,7 +198,10 @@ files:
192
198
  - lib/karafka/instrumentation/logger.rb
193
199
  - lib/karafka/instrumentation/logger_listener.rb
194
200
  - lib/karafka/instrumentation/monitor.rb
201
+ - lib/karafka/instrumentation/notifications.rb
195
202
  - lib/karafka/instrumentation/proctitle_listener.rb
203
+ - lib/karafka/instrumentation/vendors/datadog/dashboard.json
204
+ - lib/karafka/instrumentation/vendors/datadog/listener.rb
196
205
  - lib/karafka/licenser.rb
197
206
  - lib/karafka/messages/batch_metadata.rb
198
207
  - lib/karafka/messages/builders/batch_metadata.rb
@@ -208,6 +217,9 @@ files:
208
217
  - lib/karafka/pro/active_job/dispatcher.rb
209
218
  - lib/karafka/pro/active_job/job_options_contract.rb
210
219
  - lib/karafka/pro/base_consumer.rb
220
+ - lib/karafka/pro/contracts/base.rb
221
+ - lib/karafka/pro/contracts/consumer_group.rb
222
+ - lib/karafka/pro/contracts/consumer_group_topic.rb
211
223
  - lib/karafka/pro/loader.rb
212
224
  - lib/karafka/pro/performance_tracker.rb
213
225
  - lib/karafka/pro/processing/coordinator.rb
@@ -215,7 +227,8 @@ files:
215
227
  - lib/karafka/pro/processing/jobs_builder.rb
216
228
  - lib/karafka/pro/processing/partitioner.rb
217
229
  - lib/karafka/pro/processing/scheduler.rb
218
- - lib/karafka/pro/routing/extensions.rb
230
+ - lib/karafka/pro/routing/builder_extensions.rb
231
+ - lib/karafka/pro/routing/topic_extensions.rb
219
232
  - lib/karafka/process.rb
220
233
  - lib/karafka/processing/coordinator.rb
221
234
  - lib/karafka/processing/coordinators_buffer.rb
@@ -271,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
271
284
  requirements:
272
285
  - - ">="
273
286
  - !ruby/object:Gem::Version
274
- version: 2.6.0
287
+ version: 2.7.0
275
288
  required_rubygems_version: !ruby/object:Gem::Requirement
276
289
  requirements:
277
290
  - - ">"
@@ -281,5 +294,5 @@ requirements: []
281
294
  rubygems_version: 3.3.7
282
295
  signing_key:
283
296
  specification_version: 4
284
- summary: Ruby framework for working with Apache Kafka
297
+ summary: Efficient Kafka processing framework for Ruby and Rails
285
298
  test_files: []
metadata.gz.sig CHANGED
Binary file