opentelemetry-instrumentation-rdkafka 0.2.1 → 0.2.3

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: '06298d670e3d1220233cd24dc755f8267bb5fddb3a80b5c24c27fac72258f6cd'
4
- data.tar.gz: 9982d11579e9795fb9eff22566d8da216071645d64431a8cc7a000bd3949dd96
3
+ metadata.gz: 471c75ba0412f15ba04528b87f1112bdc03939fb1a1d00a6cb3f094dc36a3f69
4
+ data.tar.gz: 04a2a5fce69f74dbc50887aaf3d6bd7da05b47858dfc009b4cfef1fa8ea032fa
5
5
  SHA512:
6
- metadata.gz: 8a10b14ddeccd7b3777cdeb99feff3f948f77e92c18440e7302fc059f56b7b164aed32217525b1d6421f2a7f08e92e03bd54ee3a501c77fe10771c107d0dccc6
7
- data.tar.gz: 98378930451d5cfacf13917f9716596b65501ae906d01fa5817ec89a61ffbe10bed75ccdbcc39d9f538935aa57ef96b16f21c6b97e75d5b77b698d9f39514b57
6
+ metadata.gz: d77c606ec5c23b320188151bc8118e1988fa9a381afe1c50d752aecf1a3346cefd7e3b6186fa17816524a428917929f8d52b5be8a8ebebc96264a0c84598c906
7
+ data.tar.gz: 7857e673c40d1230cd744403ba9a26851e553b05d210f93d44b7bec48b43cd1cd18171fed81fc88679d869a34b09cd4e2a9fb14edbf21662f0010559d5efc237
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Release History: opentelemetry-instrumentation-rdkafka
2
2
 
3
+ ### v0.2.3 / 2023-03-24
4
+
5
+ * FIXED: Skip recording non-utf8 kafka keys in racecar and rdkafka
6
+
7
+ ### v0.2.2 / 2023-01-14
8
+
9
+ * DOCS: Fix gem homepage
10
+ * DOCS: More gem documentation fixes
11
+
3
12
  ### v0.2.1 / 2022-11-14
4
13
 
5
14
  * Loosen dependency on opentelemetry-api
@@ -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?
@@ -45,7 +47,8 @@ module OpenTelemetry
45
47
  }
46
48
 
47
49
  links = messages.map do |message|
48
- span_context = OpenTelemetry::Trace.current_span(OpenTelemetry.propagation.extract(message.headers, getter: OpenTelemetry::Common::Propagation.symbol_key_getter)).context
50
+ trace_context = OpenTelemetry.propagation.extract(message.headers, getter: OpenTelemetry::Common::Propagation.symbol_key_getter)
51
+ span_context = OpenTelemetry::Trace.current_span(trace_context).context
49
52
  OpenTelemetry::Trace::Link.new(span_context) if span_context.valid?
50
53
  end
51
54
  links.compact!
@@ -62,6 +65,15 @@ module OpenTelemetry
62
65
  def tracer
63
66
  Rdkafka::Instrumentation.instance.tracer
64
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
65
77
  end
66
78
  end
67
79
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Rdkafka
10
- VERSION = '0.2.1'
10
+ VERSION = '0.2.3'
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.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-16 00:00:00.000000000 Z
11
+ date: 2023-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.17'
75
+ version: '2.4'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.17'
82
+ version: '2.4'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 12.3.3
145
+ version: '13.0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 12.3.3
152
+ version: '13.0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rdkafka
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 1.3.0
173
+ version: 1.41.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.3.0
180
+ version: 1.41.1
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: simplecov
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -252,14 +252,14 @@ files:
252
252
  - lib/opentelemetry/instrumentation/rdkafka/patches/consumer.rb
253
253
  - lib/opentelemetry/instrumentation/rdkafka/patches/producer.rb
254
254
  - lib/opentelemetry/instrumentation/rdkafka/version.rb
255
- homepage: https://github.com/open-telemetry/opentelemetry-contrib
255
+ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
256
256
  licenses:
257
257
  - Apache-2.0
258
258
  metadata:
259
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby-contrib/opentelemetry-instrumentation-rdkafka/v0.2.1/file.CHANGELOG.html
259
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.2.3/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://open-telemetry.github.io/opentelemetry-ruby-contrib/opentelemetry-instrumentation-rdkafka/v0.2.1
262
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.2.3
263
263
  post_install_message:
264
264
  rdoc_options: []
265
265
  require_paths: