opentelemetry-instrumentation-redis 0.18.0 → 0.21.1

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: b97d1d7565c42c6b2a1c5a3d351c1b289c958de50295fdc5b75bcb04dd08e90f
4
- data.tar.gz: '0901c065c1a7cb6bd7412ea275a836b6575e2ae52096047822cc980963c187e0'
3
+ metadata.gz: ce59915631b4057f1b6c69b9faec92c2a9afa40260c3332c53006b82d2d85438
4
+ data.tar.gz: 22cde24339c23d879768c39bd7ddf7f473ba395472d391b77e1fb3297a102b5f
5
5
  SHA512:
6
- metadata.gz: d068fef46b939f32433777e0d2a361f8108eae305c9c019817efc67ecb86b4d147591200b6fe6699e801b1c2d3884a34c3c07f2c1816f1948e7008b60d79bbac
7
- data.tar.gz: e15af756ab9191474be4ba2b5783158288553ca34a6563a518159825f165663bbc13260901b2bdf58abac84712db8b922bb739f6bd2712d4dc740c2634dc964f
6
+ metadata.gz: 5f4ee78dc5643b5078cbe89eef588d4814c8265001b51f04b8fe7d150bcd37fbdc0add788d858610348f3aaa5c87e66b1ad5fd8139f9878e2ad68e52d04e3d7d
7
+ data.tar.gz: e7c732d1e5083df3cdb2a541f1039486d0c15f2f3f9ac328fe3fd40e50108bb4d68f08c0034c6a57ffc1a502f986bcf3342018fe9342ea6f4affda2dbfa310ff
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Release History: opentelemetry-instrumentation-redis
2
2
 
3
+ ### v0.21.1 / 2021-09-29
4
+
5
+ * (No significant changes)
6
+
7
+ ### v0.21.0 / 2021-08-12
8
+
9
+ * ADDED: Add toggle for redis db.statement attribute
10
+
11
+ ### v0.20.0 / 2021-06-23
12
+
13
+ * BREAKING CHANGE: Total order constraint on span.status=
14
+
15
+ * FIXED: Total order constraint on span.status=
16
+
17
+ ### v0.19.0 / 2021-05-28
18
+
19
+ * ADDED: Configuration option to enable or disable redis root spans [#777](https://github.com/open-telemetry/opentelemetry-ruby/pull/777)
20
+
3
21
  ### v0.18.0 / 2021-05-21
4
22
 
5
23
  * ADDED: Updated API depedency for 1.0.0.rc1
@@ -19,8 +19,9 @@ module OpenTelemetry
19
19
  defined?(::Redis)
20
20
  end
21
21
 
22
- option :peer_service, default: nil, validate: :string
23
- option :enable_statement_obfuscation, default: true, validate: :boolean
22
+ option :peer_service, default: nil, validate: :string
23
+ option :trace_root_spans, default: true, validate: :boolean
24
+ option :db_statement, default: :obfuscate, validate: ->(opt) { %I[omit include obfuscate].include?(opt) }
24
25
 
25
26
  private
26
27
 
@@ -13,7 +13,9 @@ module OpenTelemetry
13
13
  MAX_STATEMENT_LENGTH = 500
14
14
  private_constant :MAX_STATEMENT_LENGTH
15
15
 
16
- def process(commands) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
16
+ def process(commands) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
17
+ return super unless config[:trace_root_spans] || OpenTelemetry::Trace.current_span.context.valid?
18
+
17
19
  host = options[:host]
18
20
  port = options[:port]
19
21
 
@@ -27,10 +29,12 @@ module OpenTelemetry
27
29
  attributes['peer.service'] = config[:peer_service] if config[:peer_service]
28
30
  attributes.merge!(OpenTelemetry::Instrumentation::Redis.attributes)
29
31
 
30
- parsed_commands = parse_commands(commands)
31
- parsed_commands = OpenTelemetry::Common::Utilities.truncate(parsed_commands, MAX_STATEMENT_LENGTH)
32
- parsed_commands = OpenTelemetry::Common::Utilities.utf8_encode(parsed_commands, binary: true)
33
- attributes['db.statement'] = parsed_commands
32
+ unless config[:db_statement] == :omit
33
+ parsed_commands = parse_commands(commands)
34
+ parsed_commands = OpenTelemetry::Common::Utilities.truncate(parsed_commands, MAX_STATEMENT_LENGTH)
35
+ parsed_commands = OpenTelemetry::Common::Utilities.utf8_encode(parsed_commands, binary: true)
36
+ attributes['db.statement'] = parsed_commands
37
+ end
34
38
 
35
39
  span_name = if commands.length == 1
36
40
  commands[0][0].to_s.upcase
@@ -42,10 +46,7 @@ module OpenTelemetry
42
46
  super(commands).tap do |reply|
43
47
  if reply.is_a?(::Redis::CommandError)
44
48
  s.record_exception(reply)
45
- s.status = Trace::Status.new(
46
- Trace::Status::ERROR,
47
- description: reply.message
48
- )
49
+ s.status = Trace::Status.error(reply.message)
49
50
  end
50
51
  end
51
52
  end
@@ -71,7 +72,7 @@ module OpenTelemetry
71
72
  return 'AUTH ?' if command[0] == :auth
72
73
 
73
74
  command[0] = command[0].to_s.upcase
74
- if config[:enable_statement_obfuscation]
75
+ if config[:db_statement] == :obfuscate
75
76
  command[0] + ' ?' * (command.size - 1)
76
77
  else
77
78
  command.join(' ')
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Redis
10
- VERSION = '0.18.0'
10
+ VERSION = '0.21.1'
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-redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-21 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0.rc1
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.0.rc1
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opentelemetry-common
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.0
33
+ version: 0.19.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.18.0
40
+ version: 0.19.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentelemetry-instrumentation-base
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.18.0
47
+ version: 0.18.3
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.18.0
54
+ version: 0.18.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: appraisal
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.0.0.rc1
103
+ version: '1.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.0.0.rc1
110
+ version: '1.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: redis
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -199,10 +199,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
199
199
  licenses:
200
200
  - Apache-2.0
201
201
  metadata:
202
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-redis/v0.18.0/file.CHANGELOG.html
202
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-redis/v0.21.1/file.CHANGELOG.html
203
203
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/redis
204
204
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
205
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-redis/v0.18.0
205
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-redis/v0.21.1
206
206
  post_install_message:
207
207
  rdoc_options: []
208
208
  require_paths: