opentelemetry-instrumentation-base 0.20.0 → 0.21.0

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: 36880f3027db5ce9434787fc96f373497e7e4a0986bba01db8936abd6a6c6f60
4
- data.tar.gz: 2b6e9ef13f8ccad67f9c3d1138343192b4ea9df5fc0393acea2351b3bc498cf4
3
+ metadata.gz: 99e6450e5fe0a34262181644384ac289093fb11dc924dcdb44be21e46715cddb
4
+ data.tar.gz: 91dcb93efdcabe5db3619fe0fb962f0512373759aafb34bcabee9ea31f1092c1
5
5
  SHA512:
6
- metadata.gz: 90af953fd300ccbf1dbde0381999279d3773d79a02297b97ad5148eb070ea6fab7cbcaf38b82f6f2f3b60e4256b49302f0f844e77cfecfcd7d9d4b11b05fe095
7
- data.tar.gz: e58a221f4f846955c7d122b15766b2afba00007343ae54e8fa890346ad3d3ff56c08bdb9d297084ba0c84da6cd9152dba27b09e74850811737143181cd47c24f
6
+ metadata.gz: e4da44cb456ec692d62577aee339c9bcf3b1cd57aa49d5e6a8e96b0a6ab2da1f8b3b367a10f8593751b1caa4c163c257d9760b8842d94bc66839816828456c2c
7
+ data.tar.gz: 54de81f111d50c53305054975bd43e6dbb8bebe3386eed876dc7a36ed4f42ef5416c5668f25962b1427a911fbdcde7ea1c87892f5fcc9fdb9407f83c4e392a65
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release History: opentelemetry-instrumentation-base
2
2
 
3
+ ### v0.21.0 / 2022-05-26
4
+
5
+ * BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
6
+
7
+
3
8
  ### v0.20.0 / 2022-05-02
4
9
 
5
10
  * ADDED: Validate Using Enums
@@ -6,6 +6,6 @@
6
6
 
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
- VERSION = '0.20.0'
9
+ VERSION = '0.21.0'
10
10
  end
11
11
  end
@@ -5,19 +5,12 @@
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
7
7
  require 'opentelemetry'
8
- require 'opentelemetry/instrumentation/registry'
8
+ require 'opentelemetry-registry'
9
9
  require 'opentelemetry/instrumentation/base'
10
10
 
11
11
  module OpenTelemetry
12
12
  # The instrumentation module contains functionality to register and install
13
13
  # instrumentation
14
14
  module Instrumentation
15
- extend self
16
-
17
- # @return [Registry] registry containing all known
18
- # instrumentation
19
- def registry
20
- @registry ||= Registry.new
21
- end
22
15
  end
23
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.21.0
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-05-02 00:00:00.000000000 Z
11
+ date: 2022-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: opentelemetry-registry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.1'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -150,16 +164,15 @@ files:
150
164
  - lib/opentelemetry-instrumentation-base.rb
151
165
  - lib/opentelemetry/instrumentation.rb
152
166
  - lib/opentelemetry/instrumentation/base.rb
153
- - lib/opentelemetry/instrumentation/registry.rb
154
167
  - lib/opentelemetry/instrumentation/version.rb
155
168
  homepage: https://github.com/open-telemetry/opentelemetry-ruby
156
169
  licenses:
157
170
  - Apache-2.0
158
171
  metadata:
159
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-base/v0.20.0/file.CHANGELOG.html
172
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-base/v0.21.0/file.CHANGELOG.html
160
173
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/base
161
174
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
162
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-base/v0.20.0
175
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-base/v0.21.0
163
176
  post_install_message:
164
177
  rdoc_options: []
165
178
  require_paths:
@@ -168,7 +181,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
181
  requirements:
169
182
  - - ">="
170
183
  - !ruby/object:Gem::Version
171
- version: 2.5.0
184
+ version: 2.6.0
172
185
  required_rubygems_version: !ruby/object:Gem::Requirement
173
186
  requirements:
174
187
  - - ">="
@@ -1,88 +0,0 @@
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
- # The instrumentation Registry contains information about instrumentation
10
- # available and facilitates discovery, installation and
11
- # configuration. This functionality is primarily useful for SDK
12
- # implementors.
13
- class Registry
14
- def initialize
15
- @lock = Mutex.new
16
- @instrumentation = []
17
- end
18
-
19
- # @api private
20
- def register(instrumentation)
21
- @lock.synchronize do
22
- @instrumentation << instrumentation
23
- end
24
- end
25
-
26
- # Lookup an instrumentation definition by name. Returns nil if +instrumentation_name+
27
- # is not found.
28
- #
29
- # @param [String] instrumentation_name A stringified class name for an instrumentation
30
- # @return [Instrumentation]
31
- def lookup(instrumentation_name)
32
- @lock.synchronize do
33
- find_instrumentation(instrumentation_name)
34
- end
35
- end
36
-
37
- # Install the specified instrumentation with optionally specified configuration.
38
- #
39
- # @param [Array<String>] instrumentation_names An array of instrumentation names to
40
- # install
41
- # @param [optional Hash<String, Hash>] instrumentation_config_map A map of
42
- # instrumentation_name to config. This argument is optional and config can be
43
- # passed for as many or as few instrumentations as desired.
44
- def install(instrumentation_names, instrumentation_config_map = {})
45
- @lock.synchronize do
46
- instrumentation_names.each do |instrumentation_name|
47
- instrumentation = find_instrumentation(instrumentation_name)
48
- if instrumentation.nil?
49
- OpenTelemetry.logger.warn "Could not install #{instrumentation_name} because it was not found"
50
- else
51
- install_instrumentation(instrumentation, instrumentation_config_map[instrumentation.name])
52
- end
53
- end
54
- end
55
- end
56
-
57
- # Install all instrumentation available and installable in this process.
58
- #
59
- # @param [optional Hash<String, Hash>] instrumentation_config_map A map of
60
- # instrumentation_name to config. This argument is optional and config can be
61
- # passed for as many or as few instrumentations as desired.
62
- def install_all(instrumentation_config_map = {})
63
- @lock.synchronize do
64
- @instrumentation.map(&:instance).each do |instrumentation|
65
- install_instrumentation(instrumentation, instrumentation_config_map[instrumentation.name])
66
- end
67
- end
68
- end
69
-
70
- private
71
-
72
- def find_instrumentation(instrumentation_name)
73
- @instrumentation.detect { |a| a.instance.name == instrumentation_name }
74
- &.instance
75
- end
76
-
77
- def install_instrumentation(instrumentation, config)
78
- if instrumentation.install(config)
79
- OpenTelemetry.logger.info "Instrumentation: #{instrumentation.name} was successfully installed with the following options #{instrumentation.config}"
80
- else
81
- OpenTelemetry.logger.warn "Instrumentation: #{instrumentation.name} failed to install"
82
- end
83
- rescue => e # rubocop:disable Style/RescueStandardError
84
- OpenTelemetry.handle_error(exception: e, message: "Instrumentation: #{instrumentation.name} unhandled exception during install: #{e.backtrace}")
85
- end
86
- end
87
- end
88
- end