opentelemetry-instrumentation-base 0.25.0 → 0.26.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: 601a8ba402b21d299a6ad62a473ee15550717562b93e9ac557b7c99d758874d7
4
- data.tar.gz: 99da195d10149b681bdd6e777a2f40651831fd801bdae3d44e5d7847d8ea9f87
3
+ metadata.gz: 989694692df850e03430bdd6ebcde625861787574d8c41df3fd3aa299f98f854
4
+ data.tar.gz: 1a0e19c43e84446f4d227a0a89a0997f70a5b60280b16a6f578138b8cbd3cb1c
5
5
  SHA512:
6
- metadata.gz: 980bec358f6de4e0644992140cc96aa544aa427441ba7cde5f74f5f74bc799db50c7f69331762e30342e240eff4d52b5496329854a3e46f1405d6bde40348a07
7
- data.tar.gz: a2c2169bc38ec8f229f6b57c50dc8aa6a411abdd03d5b9010db2a9c3e10489db0b1597063ba63423cf1a2c31fd791db1d34ec111f47b427f02f2e992b7489c56
6
+ metadata.gz: bce55aeee148a602fdd0bc983a62fdd4cd43d1158391badc0f6859c55a3f325b92f8fd8771f816e63b58e491c5dde2e8005e236e84cd489083ab9787dfeb821d
7
+ data.tar.gz: a16c0dd711207fd46547619de80dc65532558257c0977134edb0e1b3ab2fd55a10c6a257f054d9d192fd418aefca1b4793084fffd4176b9ee92730406ebaf97d
data/CHANGELOG.md CHANGED
@@ -1,88 +1,97 @@
1
- # Release History: opentelemetry-instrumentation-base
2
-
3
- ### v0.25.0 / 2025-10-22
4
-
5
- * BREAKING CHANGE: Min Ruby Version 3.2
6
-
7
- * ADDED: Min Ruby Version 3.2
8
-
9
- ### v0.24.0 / 2025-09-30
10
-
11
- * ADDED: Bump minimum API Version to 1.7
12
-
13
- ### v0.23.0 / 2025-01-16
14
-
15
- * BREAKING CHANGE: Set minimum supported version to Ruby 3.1
16
-
17
- * ADDED: Set minimum supported version to Ruby 3.1
18
-
19
- ### v0.22.6 / 2024-08-15
20
-
21
- * FIXED: Fix the issue of wrong log msg
22
-
23
- ### v0.22.5 / 2024-07-23
24
-
25
- * DOCS: Add cspell to CI
26
-
27
- ### v0.22.4 / 2024-06-18
28
-
29
- * FIXED: Relax otel common gem constraints
30
- * DOCS: Add function doc for config_overrides_from_env
31
-
32
- ### v0.22.3 / 2023-11-23
33
-
34
- * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727)
35
-
36
- ### v0.22.2 / 2023-08-03
37
-
38
- * FIXED: Remove inline linter rules
39
-
40
- ### v0.22.1 / 2023-06-02
41
-
42
- * feat: make config available to compatible blocks #453
43
-
44
- ### v0.22.0 / 2023-04-16
45
-
46
- * BREAKING CHANGE: Drop support for EoL Ruby 2.7
47
-
48
- * ADDED: Drop support for EoL Ruby 2.7
49
-
50
- ### v0.21.1 / 2023-01-14
51
-
52
- * DOCS: Fix gem homepage
53
- * DOCS: More gem documentation fixes
54
-
55
- ### v0.21.0 / 2022-05-26
56
-
57
- * BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
58
-
59
-
60
- ### v0.20.0 / 2022-05-02
61
-
62
- * ADDED: Validate Using Enums
63
- * FIXED: RubyGems Fallback
64
-
65
- ### v0.19.0 / 2021-12-01
66
-
67
- * ADDED: Add default options config helper + env var config option support
68
-
69
- ### v0.18.3 / 2021-09-29
70
-
71
- * (No significant changes)
72
-
73
- ### v0.18.2 / 2021-08-12
74
-
75
- * (No significant changes)
76
-
77
- ### v0.18.1 / 2021-06-23
78
-
79
- * (No significant changes)
80
-
81
- ### v0.18.0 / 2021-05-21
82
-
83
- * ADDED: Updated API dependency for 1.0.0.rc1
84
- * FIXED: Missing instrumentation classes during configuration
85
-
86
- ### v0.17.0 / 2021-04-22
87
-
88
- * Initial release.
1
+ # Release History: opentelemetry-instrumentation-base
2
+
3
+ ## v0.26.1 / 2026-05-21
4
+
5
+ - FIXED: Handle missing config in middleware when OTEL_SDK_DISABLED=true (#2231)
6
+
7
+ ## v0.26.0 / 2026-04-14
8
+
9
+ - BREAKING CHANGE: Min Ruby Version 3.3 (#2125)
10
+ - ADDED: Min Ruby Version 3.3 (#2125)
11
+ - ADDED: Add release tag into source code url of gem metadata (#1984)
12
+
13
+ ## v0.25.0 / 2025-10-22
14
+
15
+ - BREAKING CHANGE: Min Ruby Version 3.2
16
+
17
+ - ADDED: Min Ruby Version 3.2
18
+
19
+ ## v0.24.0 / 2025-09-30
20
+
21
+ - ADDED: Bump minimum API Version to 1.7
22
+
23
+ ## v0.23.0 / 2025-01-16
24
+
25
+ - BREAKING CHANGE: Set minimum supported version to Ruby 3.1
26
+
27
+ - ADDED: Set minimum supported version to Ruby 3.1
28
+
29
+ ## v0.22.6 / 2024-08-15
30
+
31
+ - FIXED: Fix the issue of wrong log msg
32
+
33
+ ## v0.22.5 / 2024-07-23
34
+
35
+ - DOCS: Add cspell to CI
36
+
37
+ ## v0.22.4 / 2024-06-18
38
+
39
+ - FIXED: Relax otel common gem constraints
40
+ - DOCS: Add function doc for config_overrides_from_env
41
+
42
+ ## v0.22.3 / 2023-11-23
43
+
44
+ - CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727)
45
+
46
+ ## v0.22.2 / 2023-08-03
47
+
48
+ - FIXED: Remove inline linter rules
49
+
50
+ ## v0.22.1 / 2023-06-02
51
+
52
+ - feat: make config available to compatible blocks #453
53
+
54
+ ## v0.22.0 / 2023-04-16
55
+
56
+ - BREAKING CHANGE: Drop support for EoL Ruby 2.7
57
+
58
+ - ADDED: Drop support for EoL Ruby 2.7
59
+
60
+ ## v0.21.1 / 2023-01-14
61
+
62
+ - DOCS: Fix gem homepage
63
+ - DOCS: More gem documentation fixes
64
+
65
+ ## v0.21.0 / 2022-05-26
66
+
67
+ - BREAKING CHANGE: This requires upgrading both the SDK and Instrumentation gem in tandem
68
+
69
+ ## v0.20.0 / 2022-05-02
70
+
71
+ - ADDED: Validate Using Enums
72
+ - FIXED: RubyGems Fallback
73
+
74
+ ## v0.19.0 / 2021-12-01
75
+
76
+ - ADDED: Add default options config helper + env var config option support
77
+
78
+ ## v0.18.3 / 2021-09-29
79
+
80
+ - (No significant changes)
81
+
82
+ ## v0.18.2 / 2021-08-12
83
+
84
+ - (No significant changes)
85
+
86
+ ## v0.18.1 / 2021-06-23
87
+
88
+ - (No significant changes)
89
+
90
+ ## v0.18.0 / 2021-05-21
91
+
92
+ - ADDED: Updated API dependency for 1.0.0.rc1
93
+ - FIXED: Missing instrumentation classes during configuration
94
+
95
+ ## v0.17.0 / 2021-04-22
96
+
97
+ - Initial release.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # OpenTelemetry Instrumentation Base
2
2
 
3
- The `opentelemetry-instrumentation-base` gem contains the instrumentation base class, and the instrumentation registry. These modules provide a common interface to support the installation of auto instrumentation libraries. The instrumentation base is responsible for adding itself to the instrumentation registry as well as providing convenience hooks for the installation process. The instrumentation registry contains all the instrumentation to be installed during the SDK configuration process.
3
+ The `opentelemetry-instrumentation-base` gem contains the instrumentation base class, and the instrumentation registry. These modules provide a common interface to support the installation of auto instrumentation libraries. The instrumentation base is responsible for adding itself to the instrumentation registry as well as providing convenience hooks for the installation process. The instrumentation registry contains all the instrumentation to be installed during the SDK configuration process.
4
4
 
5
5
  ## How do I get started?
6
6
 
@@ -14,7 +14,7 @@ Or, if you use [bundler][bundler-home], include `opentelemetry-instrumentation-b
14
14
 
15
15
  ### For SDK Authors
16
16
 
17
- The following is a simplified demonstration of how the `OpenTelemetry::Instrumentation.registry` can be used by an SDK to install auto-instrumentation gems as part of its configuration. This should not be used as an example of how to implement an SDK as there are large omissions. For an example of a complete implementation see the `opentelemetry-sdk` gem.
17
+ The following is a simplified demonstration of how the `OpenTelemetry::Instrumentation.registry` can be used by an SDK to install auto-instrumentation gems as part of its configuration. This should not be used as an example of how to implement an SDK as there are large omissions. For an example of a complete implementation see the `opentelemetry-sdk` gem.
18
18
 
19
19
  ```ruby
20
20
  require 'bundler/inline'
@@ -42,7 +42,7 @@ module OpenTelemetry
42
42
  # The instrumentation name and version will be inferred from the namespace of the
43
43
  # class. In this example, they'd be 'OpenTelemetry::Instrumentation::Sinatra' and
44
44
  # OpenTelemetry::Instrumentation::Sinatra::VERSION, but can be explicitly set using
45
- # the +instrumentation_name+ and +instrumetation_version+ methods if necessary.
45
+ # the +instrumentation_name+ and +instrumentation_version+ methods if necessary.
46
46
  #
47
47
  # All subclasses of OpenTelemetry::Instrumentation::Base are automatically
48
48
  # registered with OpenTelemetry.instrumentation_registry which is used by
@@ -201,9 +201,11 @@ module OpenTelemetry
201
201
  @install_blk = install_blk
202
202
  @present_blk = present_blk
203
203
  @compatible_blk = compatible_blk
204
- @config = {}
205
- @installed = false
206
204
  @options = options
205
+ # Empty hash that falls back to option defaults for missing keys
206
+ defaults = (@options || []).to_h { |opt| [opt[:name], opt[:default]] }
207
+ @config = Hash.new { |_, k| defaults[k] }
208
+ @installed = false
207
209
  @tracer = OpenTelemetry::Trace::Tracer.new
208
210
  end
209
211
  # rubocop:enable Metrics/ParameterLists
@@ -328,7 +330,7 @@ module OpenTelemetry
328
330
 
329
331
  # Checks to see if the user has passed any environment variables that set options
330
332
  # for instrumentation. By convention, the environment variable will be the name
331
- # of the instrumentation, uppercased, with '::' replaced by underscores,
333
+ # of the instrumentation, upper-cased, with '::' replaced by underscores,
332
334
  # OPENTELEMETRY shortened to OTEL_{LANG}, and _CONFIG_OPTS appended.
333
335
  # For example, the environment variable name for OpenTelemetry::Instrumentation::Faraday
334
336
  # will be OTEL_RUBY_INSTRUMENTATION_FARADAY_CONFIG_OPTS. A value of 'peer_service=new_service;'
@@ -6,6 +6,6 @@
6
6
 
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
- VERSION = '0.25.0'
9
+ VERSION = '0.26.1'
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.0
4
+ version: 0.26.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-10-22 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: opentelemetry-api
@@ -71,11 +70,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
71
70
  licenses:
72
71
  - Apache-2.0
73
72
  metadata:
74
- changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-base/0.25.0/file/CHANGELOG.md
75
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/base
73
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-base/0.26.1/file/CHANGELOG.md
74
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/opentelemetry-instrumentation-base/v0.26.1/instrumentation/base
76
75
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
77
- documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-base/0.25.0
78
- post_install_message:
76
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-base/0.26.1
79
77
  rdoc_options: []
80
78
  require_paths:
81
79
  - lib
@@ -83,15 +81,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
81
  requirements:
84
82
  - - ">="
85
83
  - !ruby/object:Gem::Version
86
- version: '3.2'
84
+ version: '3.3'
87
85
  required_rubygems_version: !ruby/object:Gem::Requirement
88
86
  requirements:
89
87
  - - ">="
90
88
  - !ruby/object:Gem::Version
91
89
  version: '0'
92
90
  requirements: []
93
- rubygems_version: 3.4.19
94
- signing_key:
91
+ rubygems_version: 4.0.6
95
92
  specification_version: 4
96
93
  summary: Instrumentation Base for the OpenTelemetry framework
97
94
  test_files: []