opentelemetry-instrumentation-concurrent_ruby 0.18.0 → 0.19.1

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: 87155c4cf81568f501142ba9c9c97bc4c5cb7ba162169f40a9079193db092d5b
4
- data.tar.gz: 96f203d1c3ac713d2a411a10cb7b35b05a15e9a690da0c310fc00b4e1500e552
3
+ metadata.gz: 67bae6475c04226b0b95b38d1256adffa5dda7d6bb8ab530f3491c58ed954949
4
+ data.tar.gz: 8e93ba391df8108ed923dbcd179b6e4189f70639035d40b32da753a39a2557b9
5
5
  SHA512:
6
- metadata.gz: 89366f31dbb9f3427db75679099d466f3bff031a7e040285e20968b3a5caa7ef038a2d34dbbb45a14f36b8cc640a10a0df8808663f38fdbf47bf95e4d460d982
7
- data.tar.gz: 2700d85802f7744b09fbc13a4c79e8bb65248c429ec884fdb92dfa7ac06b0b5a6404b4d3292dff992f911192f2a64ba35b270322f4a12a8ca99aafb64402202d
6
+ metadata.gz: 2f845d9b0a25fb2c3c2e4615444f53733e98e0caacc1943929a7a07235cb059ee99f442d4742c107362c36c69dcd023d8ea6060418764b0feb9fc3827c5a5aef
7
+ data.tar.gz: 6ed57e6c9f49fbe8060cffd3951064e1dda13bcd8f0f4832574658b9eb430c5043a63b4033f8d809832aeced97d5f855080a475c913a23c09c3b29d86d831d6d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Release History: opentelemetry-instrumentation-concurrent_ruby
2
2
 
3
+ ### v0.19.1 / 2021-09-29
4
+
5
+ * (No significant changes)
6
+
7
+ ### v0.19.0 / 2021-09-29
8
+
9
+ * ADDED: Add suport for `Concurrent::Promises::Future`
10
+
11
+ ### v0.18.2 / 2021-08-12
12
+
13
+ * DOCS: Update docs to rely more on environment variable configuration
14
+
15
+ ### v0.18.1 / 2021-06-23
16
+
17
+ * (No significant changes)
18
+
3
19
  ### v0.18.0 / 2021-05-21
4
20
 
5
21
  * ADDED: Updated API depedency for 1.0.0.rc1
@@ -16,17 +16,17 @@ module OpenTelemetry
16
16
  end
17
17
 
18
18
  present do
19
- defined?(::Concurrent::Future)
19
+ defined?(::Concurrent::ThreadPoolExecutor)
20
20
  end
21
21
 
22
22
  private
23
23
 
24
24
  def require_dependencies
25
- require_relative 'patches/future'
25
+ require_relative 'patches/thread_pool_executor'
26
26
  end
27
27
 
28
28
  def patch
29
- ::Concurrent::Future.send(:include, Patches::Future)
29
+ ::Concurrent::ThreadPoolExecutor.prepend Patches::ThreadPoolExecutor
30
30
  end
31
31
  end
32
32
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright The OpenTelemetry Authors
4
+ #
5
+ # SPDX-License-Identifier: Apache-2.0
6
+
7
+ module OpenTelemetry
8
+ module Instrumentation
9
+ module ConcurrentRuby
10
+ module Patches
11
+ # Concurrent::ThreadPoolExecutor patch for instrumentation
12
+ module ThreadPoolExecutor
13
+ # @see Concurrent::ExecutorService#post
14
+ def post(*args, **kwargs, &task)
15
+ context = OpenTelemetry::Context.current
16
+ return super unless context
17
+
18
+ super(*args, **kwargs) do
19
+ OpenTelemetry::Context.with_current(context) do
20
+ task.call(*args, **kwargs)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module ConcurrentRuby
10
- VERSION = '0.18.0'
10
+ VERSION = '0.19.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-concurrent_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.19.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,28 +16,28 @@ 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-instrumentation-base
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.18.3
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.18.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: appraisal
43
43
  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: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -178,18 +178,17 @@ files:
178
178
  - lib/opentelemetry-instrumentation-concurrent_ruby.rb
179
179
  - lib/opentelemetry/instrumentation.rb
180
180
  - lib/opentelemetry/instrumentation/concurrent_ruby.rb
181
- - lib/opentelemetry/instrumentation/concurrent_ruby/context_composite_executor_service.rb
182
181
  - lib/opentelemetry/instrumentation/concurrent_ruby/instrumentation.rb
183
- - lib/opentelemetry/instrumentation/concurrent_ruby/patches/future.rb
182
+ - lib/opentelemetry/instrumentation/concurrent_ruby/patches/thread_pool_executor.rb
184
183
  - lib/opentelemetry/instrumentation/concurrent_ruby/version.rb
185
184
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
186
185
  licenses:
187
186
  - Apache-2.0
188
187
  metadata:
189
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-concurrent_ruby/v0.18.0/file.CHANGELOG.html
188
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-concurrent_ruby/v0.19.1/file.CHANGELOG.html
190
189
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/concurrent_ruby
191
190
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
192
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-concurrent_ruby/v0.18.0
191
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-concurrent_ruby/v0.19.1
193
192
  post_install_message:
194
193
  rdoc_options: []
195
194
  require_paths:
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright The OpenTelemetry Authors
4
- #
5
- # SPDX-License-Identifier: Apache-2.0
6
-
7
- require 'concurrent/executor/executor_service'
8
- require 'forwardable'
9
-
10
- module OpenTelemetry
11
- module Instrumentation
12
- module ConcurrentRuby
13
- # Wraps existing executor to carry over trace context
14
- class ContextCompositeExecutorService
15
- extend Forwardable
16
- include Concurrent::ExecutorService
17
-
18
- attr_accessor :composited_executor
19
-
20
- def initialize(composited_executor)
21
- @composited_executor = composited_executor
22
- end
23
-
24
- # post method runs the task within composited executor
25
- # in a different thread
26
- def post(*args, &task)
27
- context = OpenTelemetry::Context.current
28
-
29
- @composited_executor.post(*args) do
30
- OpenTelemetry::Context.with_current(context) do
31
- yield
32
- end
33
- end
34
- end
35
-
36
- delegate %i[can_overflow? serialized?] => :composited_executor
37
- end
38
- end
39
- end
40
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Copyright The OpenTelemetry Authors
4
- #
5
- # SPDX-License-Identifier: Apache-2.0
6
-
7
- require_relative '../context_composite_executor_service'
8
-
9
- module OpenTelemetry
10
- module Instrumentation
11
- module ConcurrentRuby
12
- module Patches
13
- # Concurrent::Future patch for instrumentation
14
- module Future
15
- def self.included(base)
16
- base.class_eval do
17
- alias_method :ns_initialize_without_otel, :ns_initialize
18
- remove_method(:ns_initialize)
19
-
20
- def ns_initialize(value, opts)
21
- ns_initialize_without_otel(value, opts)
22
-
23
- @executor = ContextCompositeExecutorService.new(@executor)
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end