opentelemetry-instrumentation-rdkafka 0.2.2 → 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: b413d05e4df8962205f9b8928a10766145730a0ef50ef1abcacb5e0a1f1b811b
4
- data.tar.gz: 311e8f68b652fdbd39a8be37133e33c6a8f2baf194dfff3ff9747d81feae744c
3
+ metadata.gz: 471c75ba0412f15ba04528b87f1112bdc03939fb1a1d00a6cb3f094dc36a3f69
4
+ data.tar.gz: 04a2a5fce69f74dbc50887aaf3d6bd7da05b47858dfc009b4cfef1fa8ea032fa
5
5
  SHA512:
6
- metadata.gz: d1670dbfad19e60dc2e0e265f33521e6b723d4bff9fe0d604d96a68a14b46b9f8fe899e05373f883ff5838d208d278e7bcd889c0b199935c3ca1a547f3030035
7
- data.tar.gz: 72c23f3685f1266b510f1783fae65294e0d5cea985de65aef9d3f709efc7cffec32b7dd60d17790d9326581f46bbf359300a16a276521d34183403d32b34368d
6
+ metadata.gz: d77c606ec5c23b320188151bc8118e1988fa9a381afe1c50d752aecf1a3346cefd7e3b6186fa17816524a428917929f8d52b5be8a8ebebc96264a0c84598c906
7
+ data.tar.gz: 7857e673c40d1230cd744403ba9a26851e553b05d210f93d44b7bec48b43cd1cd18171fed81fc88679d869a34b09cd4e2a9fb14edbf21662f0010559d5efc237
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
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
+
3
7
  ### v0.2.2 / 2023-01-14
4
8
 
5
9
  * 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.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.2
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: 2023-01-14 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
@@ -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.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://rubydoc.info/gems/opentelemetry-instrumentation-rdkafka/0.2.2
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: