opentelemetry-instrumentation-rdkafka 0.2.2 → 0.3.0

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: b413d05e4df8962205f9b8928a10766145730a0ef50ef1abcacb5e0a1f1b811b
4
- data.tar.gz: 311e8f68b652fdbd39a8be37133e33c6a8f2baf194dfff3ff9747d81feae744c
3
+ metadata.gz: 92646be4a6e8f214ac0139a254f19ffc97c40398517447781b3c57cb3f2bf44d
4
+ data.tar.gz: b49d0249c441fa40ddff9b7990829b618ea5ee9673e824d783263d7ca042636d
5
5
  SHA512:
6
- metadata.gz: d1670dbfad19e60dc2e0e265f33521e6b723d4bff9fe0d604d96a68a14b46b9f8fe899e05373f883ff5838d208d278e7bcd889c0b199935c3ca1a547f3030035
7
- data.tar.gz: 72c23f3685f1266b510f1783fae65294e0d5cea985de65aef9d3f709efc7cffec32b7dd60d17790d9326581f46bbf359300a16a276521d34183403d32b34368d
6
+ metadata.gz: 6ce06206e41c5b8bf2e342bd016f37ab6f31d29c8ff286dbeabaa73fac53d89d4867b93a807d8c5fa52927b19ae416d55449c8ecb5c48c2c1edcc4996494caee
7
+ data.tar.gz: 54f2553fb875d5dca054a0d9a3f88258a7f5ffbd05cff8ebbc36e6bdeb01564f070308a4443d8dd16a16f3f6426f079620ee2f5bca5948b32fda5f45c5645f2f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Release History: opentelemetry-instrumentation-rdkafka
2
2
 
3
+ ### v0.3.0 / 2023-04-17
4
+
5
+ * BREAKING CHANGE: Drop support for EoL Ruby 2.7
6
+
7
+ * ADDED: Drop support for EoL Ruby 2.7
8
+
9
+ ### v0.2.3 / 2023-03-24
10
+
11
+ * FIXED: Skip recording non-utf8 kafka keys in racecar and rdkafka
12
+
3
13
  ### v0.2.2 / 2023-01-14
4
14
 
5
15
  * DOCS: Fix gem homepage
@@ -20,7 +20,9 @@ module OpenTelemetry
20
20
  'messaging.kafka.offset' => message.offset
21
21
  }
22
22
 
23
- attributes['messaging.kafka.message_key'] = message.key if message.key
23
+ message_key = extract_message_key(message.key)
24
+ attributes['messaging.kafka.message_key'] = message_key if message_key
25
+
24
26
  parent_context = OpenTelemetry.propagation.extract(message.headers, getter: OpenTelemetry::Common::Propagation.symbol_key_getter)
25
27
  span_context = OpenTelemetry::Trace.current_span(parent_context).context
26
28
  links = [OpenTelemetry::Trace::Link.new(span_context)] if span_context.valid?
@@ -63,6 +65,15 @@ module OpenTelemetry
63
65
  def tracer
64
66
  Rdkafka::Instrumentation.instance.tracer
65
67
  end
68
+
69
+ def extract_message_key(key)
70
+ # skip encode if already valid utf8
71
+ return key if key.nil? || (key.encoding == Encoding::UTF_8 && key.valid_encoding?)
72
+
73
+ key.encode(Encoding::UTF_8)
74
+ rescue Encoding::UndefinedConversionError
75
+ nil
76
+ end
66
77
  end
67
78
  end
68
79
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Rdkafka
10
- VERSION = '0.2.2'
10
+ VERSION = '0.3.0'
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-rdkafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-14 00:00:00.000000000 Z
11
+ date: 2023-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.21.0
47
+ version: 0.22.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.21.0
54
+ version: 0.22.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: appraisal
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -112,16 +112,16 @@ dependencies:
112
112
  name: opentelemetry-test-helpers
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '0.3'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '0.3'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pry-byebug
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 1.41.1
173
+ version: 1.48.1
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 1.41.1
180
+ version: 1.48.1
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: simplecov
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -256,10 +256,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
256
256
  licenses:
257
257
  - Apache-2.0
258
258
  metadata:
259
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.2.2/file/CHANGELOG.md
259
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.3.0/file/CHANGELOG.md
260
260
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/rdkafka
261
261
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
262
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.2.2
262
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.3.0
263
263
  post_install_message:
264
264
  rdoc_options: []
265
265
  require_paths:
@@ -268,14 +268,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - ">="
270
270
  - !ruby/object:Gem::Version
271
- version: 2.6.0
271
+ version: '3.0'
272
272
  required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  requirements:
274
274
  - - ">="
275
275
  - !ruby/object:Gem::Version
276
276
  version: '0'
277
277
  requirements: []
278
- rubygems_version: 3.1.6
278
+ rubygems_version: 3.2.33
279
279
  signing_key:
280
280
  specification_version: 4
281
281
  summary: Rdkafka instrumentation for the OpenTelemetry framework