opentelemetry-instrumentation-rdkafka 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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: