opentelemetry-metrics-sdk 0.17.0 → 0.18.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: 19efd834eb63674a6e6769fc893179b31bf4eed29698e91f29a85d7df1d53bf8
4
- data.tar.gz: e027637325d0a920d55ee9e0a99f6ed9b1e532d87cc433d9af6385a6341c8b51
3
+ metadata.gz: 30c3d77013ce3c1eae95194915c2bf428d9a34ad2afbd29560dcda6c21a1cbfe
4
+ data.tar.gz: e265066d90971699173482f848b00259081eaa4b335bb52126148863afa152d8
5
5
  SHA512:
6
- metadata.gz: 98626a904390ea3ced74266657db022bd11ac546556f9592834206adf8f1f5efa7e53274157e819915d68a78440daaf2d27354258eca9edd8c83d5f350433f89
7
- data.tar.gz: c7a873d868f87602727955163b1214af900a9662eddbc8a5fe0b7b41ac8416b3cb97d1cbb3d02dcc32334449ad483dadb7d8bd24e566ce8ebedb135a93370fd4
6
+ metadata.gz: 10b82812fae8f1f8727eb8f79532e370435878edc8996337caa9313b6a2af3b183487feb5f5c4fc61fec07d6cd75bbd05fee14eb7aa8331b8168949c075b1698
7
+ data.tar.gz: d91bc46c7dd8609486a78186947f025390d9bc8e039e142f9e5d5536aaf1199ca6416a6fb28234e80433fded78b2f1a282d9aae888fd8daf779d600bf6c3d23d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release History: opentelemetry-metrics-sdk
2
2
 
3
+ ### v0.18.0 / 2026-09-09
4
+
5
+ * BREAKING CHANGE: Align with the spec for metrics sdk and metrics otlp exporter (#2301)
6
+ * FIXED: Align with the spec for metrics sdk and metrics otlp exporter (#2301)
7
+
3
8
  ### v0.17.0 / 2026-09-01
4
9
 
5
10
  * ADDED: Add flags to metrics data model (#2302)
@@ -74,7 +74,7 @@ module OpenTelemetry
74
74
  end
75
75
 
76
76
  # when aggregation temporality is cumulative, merge and downscale will happen.
77
- # rubocop:disable Metrics/MethodLength
77
+ # rubocop:disable-next Metrics/MethodLength
78
78
  def collect(start_time, end_time, data_points)
79
79
  if @aggregation_temporality.delta?
80
80
  # Set timestamps and 'move' data point values to result.
@@ -218,7 +218,6 @@ module OpenTelemetry
218
218
  merged_data_points.values # return array
219
219
  end
220
220
  end
221
- # rubocop:enable Metrics/MethodLength
222
221
 
223
222
  # this is aggregate in python; there is no merge in aggregate; but rescale happened
224
223
  def update(amount, attributes, data_points, cardinality_limit, exemplar_offer: false)
@@ -265,7 +264,7 @@ module OpenTelemetry
265
264
  )
266
265
  end
267
266
 
268
- # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength
267
+ # rubocop:disable-next Metrics/CyclomaticComplexity,Metrics/MethodLength
269
268
  def update_histogram_data_point(hdp, attributes, amount, exemplar_offer: false)
270
269
  reservior_update(attributes, amount, exemplar_offer)
271
270
 
@@ -345,7 +344,6 @@ module OpenTelemetry
345
344
 
346
345
  buckets.increment_bucket(bucket_index)
347
346
  end
348
- # rubocop:enable Metrics/CyclomaticComplexity,Metrics/MethodLength
349
347
 
350
348
  def grow_buckets(span, buckets)
351
349
  return if span < buckets.counts.size
@@ -9,7 +9,7 @@ module OpenTelemetry
9
9
  module Metrics
10
10
  module Aggregation
11
11
  # TODO: Deal with this later
12
- # rubocop:disable Lint/StructNewOverride
12
+ # rubocop:disable-next Lint/StructNewOverride
13
13
  HistogramDataPoint = Struct.new(:attributes, # optional Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}
14
14
  :start_time_unix_nano, # Integer nanoseconds since Epoch
15
15
  :time_unix_nano, # Integer nanoseconds since Epoch
@@ -21,7 +21,6 @@ module OpenTelemetry
21
21
  :exemplars, # optional List of exemplars collected from measurements that were used to form the data point
22
22
  :min, # optional Float min is the minimum value over (start_time, end_time].
23
23
  :max) # optional Float max is the maximum value over (start_time, end_time].
24
- # rubocop:enable Lint/StructNewOverride
25
24
  end
26
25
  end
27
26
  end
@@ -39,7 +39,12 @@ module OpenTelemetry
39
39
  exporters.split(',').map do |exporter|
40
40
  case exporter.strip
41
41
  when 'none' then nil
42
- when 'console' then OpenTelemetry.meter_provider.add_metric_reader(Metrics::Export::PeriodicMetricReader.new(exporter: Metrics::Export::ConsoleMetricPullExporter.new))
42
+ when 'console'
43
+ default_console_interval = ENV['OTEL_METRIC_EXPORT_INTERVAL'] || 10_000
44
+ OpenTelemetry.meter_provider.add_metric_reader(Metrics::Export::PeriodicMetricReader.new(
45
+ export_interval_millis: Float(default_console_interval),
46
+ exporter: Metrics::Export::ConsoleMetricPullExporter.new
47
+ ))
43
48
  when 'in-memory' then OpenTelemetry.meter_provider.add_metric_reader(Metrics::Export::InMemoryMetricPullExporter.new)
44
49
  when 'otlp'
45
50
  begin
@@ -10,7 +10,7 @@ module OpenTelemetry
10
10
  # implementation.
11
11
  module Metrics
12
12
  # {MeterProvider} is the SDK implementation of {OpenTelemetry::Metrics::MeterProvider}.
13
- # rubocop:disable Metrics/ClassLength
13
+ # rubocop:disable-next Metrics/ClassLength
14
14
  class MeterProvider < OpenTelemetry::Metrics::MeterProvider
15
15
  EMPTY_ATTRIBUTES = {}.freeze
16
16
 
@@ -190,7 +190,6 @@ module OpenTelemetry
190
190
  nil
191
191
  end
192
192
  end
193
- # rubocop:enable Metrics/ClassLength
194
193
  end
195
194
  end
196
195
  end
@@ -13,7 +13,7 @@ module OpenTelemetry
13
13
  # The MetricStream class provides SDK internal functionality that is not a part of the
14
14
  # public API.
15
15
  #
16
- # rubocop:disable Metrics/ClassLength
16
+ # rubocop:disable-next Metrics/ClassLength
17
17
  class MetricStream
18
18
  attr_reader :name, :description, :unit, :instrument_kind, :instrumentation_scope, :data_points
19
19
  attr_writer :cardinality_limit
@@ -170,7 +170,6 @@ module OpenTelemetry
170
170
  end.join("\n")
171
171
  end
172
172
  end
173
- # rubocop:enable Metrics/ClassLength
174
173
  end
175
174
  end
176
175
  end
@@ -8,7 +8,7 @@ module OpenTelemetry
8
8
  module SDK
9
9
  module Metrics
10
10
  # Current OpenTelemetry metrics sdk version
11
- VERSION = '0.17.0'
11
+ VERSION = '0.18.0'
12
12
  end
13
13
  end
14
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-metrics-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
@@ -121,10 +121,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
121
121
  licenses:
122
122
  - Apache-2.0
123
123
  metadata:
124
- changelog_uri: https://rubydoc.info/gems/opentelemetry-metrics-sdk/0.17.0/file/CHANGELOG.md
125
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/opentelemetry-metrics-sdk/v0.17.0/metrics_sdk
124
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-metrics-sdk/0.18.0/file/CHANGELOG.md
125
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/opentelemetry-metrics-sdk/v0.18.0/metrics_sdk
126
126
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
127
- documentation_uri: https://rubydoc.info/gems/opentelemetry-metrics-sdk/0.17.0
127
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-metrics-sdk/0.18.0
128
128
  rdoc_options: []
129
129
  require_paths:
130
130
  - lib