opentelemetry-metrics-api 0.6.0 → 0.7.0

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: 21f43d3b2a0de83dc8f0437aa95e193825fa423e7d6b2c54b80624871588dcc5
4
- data.tar.gz: b7b5dc44f43f6f9b12d3948f323287bdcc5762cbaf0a3926226e697ff9134898
3
+ metadata.gz: eebf7477692bac3633734103c3f966df9ce62ed6b1c326c11b2d3f3403164b19
4
+ data.tar.gz: 6416e9a0953fe16d37d1680662110cc69a169529156bda57a49f955fd2e986ca
5
5
  SHA512:
6
- metadata.gz: a991d50756e22f0effd8ecc5b8d5e9bbd8daa840be9b80a0e1076d7ce97a694331a6a3f0d8e6ee898c938309200cf324ea0659f8342a06f3f67c266ad75c61c8
7
- data.tar.gz: b86f20da9ec647a2251e59a9e1734f326acc98cf7de7fdd16ba2a44c6cc1a07db227e28932ad54dd06228719f517317c7e1e70a1fc1fa63f20761913d2eac534
6
+ metadata.gz: 5017f0db8e1f0ed8ed1b868d62702f3911b514a0818a0d12d7abde57f24e0ae830742fff8a5edd6082751f2b251b6ab28ccb4549e1f72c91768e39f0a7d6ca54
7
+ data.tar.gz: bbae6ad5046c512cc280a50e3518831da851a90c93d8e85374800d9ea2750dd0af4107edeaae4dec9a8b9e069f2551b15b1dc26ccaee07c018b94431e2d27cde
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History: opentelemetry-metrics-api
2
2
 
3
+ ### v0.7.0 / 2026-08-04
4
+
5
+ * ADDED: Add attributes to Meter InstrumentationScope (#2273)
6
+
7
+ ### v0.6.1 / 2026-07-08
8
+
9
+ * DOCS: Update source for gemspec links to RubyDoc (#2123)
10
+
3
11
  ### v0.6.0 / 2026-05-12
4
12
 
5
13
  * ADDED: Add git tag to source URI in gemspec (#2101)
@@ -13,7 +13,7 @@ module OpenTelemetry
13
13
  # It delegates to a "real" MeterProvider after the global meter provider is registered.
14
14
  # It returns {ProxyMeter} instances until the delegate is installed.
15
15
  class ProxyMeterProvider < Metrics::MeterProvider
16
- Key = Struct.new(:name, :version)
16
+ Key = Struct.new(:name, :version, :attributes)
17
17
  private_constant(:Key)
18
18
 
19
19
  # Returns a new {ProxyMeterProvider} instance.
@@ -43,15 +43,17 @@ module OpenTelemetry
43
43
 
44
44
  # Returns a {Meter} instance.
45
45
  #
46
- # @param [optional String] name Instrumentation package name
47
- # @param [optional String] version Instrumentation package version
46
+ # @param [optional String] name Instrumentation scope name
47
+ # @param [optional String] version Instrumentation scope version
48
+ # @param [optional Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}] attributes
49
+ # Instrumentation scope attributes
48
50
  #
49
51
  # @return [Meter]
50
- def meter(name = nil, version: nil)
52
+ def meter(name = nil, version: nil, attributes: nil)
51
53
  @mutex.synchronize do
52
- return @delegate.meter(name, version: version) unless @delegate.nil?
54
+ return @delegate.meter(name, version: version, attributes: attributes) unless @delegate.nil?
53
55
 
54
- @registry[Key.new(name, version)] ||= ProxyMeter.new
56
+ @registry[Key.new(name, version, attributes)] ||= ProxyMeter.new
55
57
  end
56
58
  end
57
59
  end
@@ -20,10 +20,12 @@ module OpenTelemetry
20
20
 
21
21
  private_constant(:COUNTER, :OBSERVABLE_COUNTER, :HISTOGRAM, :GAUGE, :OBSERVABLE_GAUGE, :UP_DOWN_COUNTER, :OBSERVABLE_UP_DOWN_COUNTER)
22
22
 
23
+ # rubocop:disable Style/EmptyClassDefinition
23
24
  DuplicateInstrumentError = Class.new(OpenTelemetry::Error)
24
25
  InstrumentNameError = Class.new(OpenTelemetry::Error)
25
26
  InstrumentUnitError = Class.new(OpenTelemetry::Error)
26
27
  InstrumentDescriptionError = Class.new(OpenTelemetry::Error)
28
+ # rubocop:enable Style/EmptyClassDefinition
27
29
 
28
30
  def initialize
29
31
  @mutex = Mutex.new
@@ -10,11 +10,13 @@ module OpenTelemetry
10
10
  class MeterProvider
11
11
  # Returns a {Meter} instance.
12
12
  #
13
- # @param [String] name Instrumentation package name
14
- # @param [optional String] version Instrumentation package version
13
+ # @param [String] name Instrumentation scope name
14
+ # @param [optional String] version Instrumentation scope version
15
+ # @param [optional Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}] attributes
16
+ # Instrumentation scope attributes
15
17
  #
16
18
  # @return [Meter]
17
- def meter(name, version: nil)
19
+ def meter(name, version: nil, attributes: nil)
18
20
  @meter ||= Meter.new
19
21
  end
20
22
  end
@@ -7,6 +7,6 @@
7
7
  module OpenTelemetry
8
8
  module Metrics
9
9
  ## Current OpenTelemetry metrics version
10
- VERSION = '0.6.0'
10
+ VERSION = '0.7.0'
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-metrics-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
@@ -23,118 +23,6 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '1.0'
26
- - !ruby/object:Gem::Dependency
27
- name: benchmark-ips
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - "~>"
31
- - !ruby/object:Gem::Version
32
- version: 2.14.0
33
- type: :development
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 2.14.0
40
- - !ruby/object:Gem::Dependency
41
- name: minitest
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '5.0'
47
- type: :development
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '5.0'
54
- - !ruby/object:Gem::Dependency
55
- name: opentelemetry-test-helpers
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: 0.3.0
61
- type: :development
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: 0.3.0
68
- - !ruby/object:Gem::Dependency
69
- name: rake
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '13.3'
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '13.3'
82
- - !ruby/object:Gem::Dependency
83
- name: rubocop
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: '1.65'
89
- type: :development
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '1.65'
96
- - !ruby/object:Gem::Dependency
97
- name: simplecov
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: '0.17'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '0.17'
110
- - !ruby/object:Gem::Dependency
111
- name: yard
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: '0.9'
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '0.9'
124
- - !ruby/object:Gem::Dependency
125
- name: yard-doctest
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 0.1.6
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: 0.1.6
138
26
  email:
139
27
  - cncf-opentelemetry-contributors@lists.cncf.io
140
28
  executables: []
@@ -166,10 +54,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
166
54
  licenses:
167
55
  - Apache-2.0
168
56
  metadata:
169
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-api/v0.6.0/file.CHANGELOG.html
170
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/opentelemetry-metrics-api/v0.6.0/metrics_api
57
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-metrics-api/0.7.0/file/CHANGELOG.md
58
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/opentelemetry-metrics-api/v0.7.0/metrics_api
171
59
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
172
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-api/v0.6.0
60
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-metrics-api/0.7.0
173
61
  rdoc_options: []
174
62
  require_paths:
175
63
  - lib
@@ -184,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
72
  - !ruby/object:Gem::Version
185
73
  version: '0'
186
74
  requirements: []
187
- rubygems_version: 4.0.6
75
+ rubygems_version: 4.0.16
188
76
  specification_version: 4
189
77
  summary: A stats collection and distributed tracing framework
190
78
  test_files: []