opentelemetry-metrics-sdk 0.4.0 → 0.5.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 +4 -4
- data/CHANGELOG.md +9 -1
- data/lib/opentelemetry/sdk/metrics/aggregation/explicit_bucket_histogram.rb +0 -1
- data/lib/opentelemetry/sdk/metrics/aggregation/histogram_data_point.rb +1 -1
- data/lib/opentelemetry/sdk/metrics/aggregation/number_data_point.rb +1 -1
- data/lib/opentelemetry/sdk/metrics/instrument/gauge.rb +47 -0
- data/lib/opentelemetry/sdk/metrics/instrument.rb +1 -0
- data/lib/opentelemetry/sdk/metrics/meter.rb +1 -0
- data/lib/opentelemetry/sdk/metrics/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab6bcf236973bf3076b7ed474af0b5f6d1800109b50ea962ee30e5c26e8e2939
|
4
|
+
data.tar.gz: 98b5732131f76d66d2a8aa9dec222540d46bcde1c505611838dac389c84633f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e67ddd388122be3e244bfb72089fc22df9c00e7f0ccbe1d7407cfa666c91e5eee65056b5430cc35ae034bf8d55073c6b24848736afcd38d06b7a4e07e757154
|
7
|
+
data.tar.gz: 967900597a808f03bfc221773a5c5095fa4f8ea0f94b1cae2b4c30ed16e2e30c4e49d8bda30774a63b924cf836f50d1d3a68bdc589b9455de3588a57846859ea
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# Release History: opentelemetry-metrics-sdk
|
2
2
|
|
3
|
-
### v0.
|
3
|
+
### v0.5.0 / 2025-01-08
|
4
|
+
|
5
|
+
* ADDED: Add synchronous gauge
|
6
|
+
|
7
|
+
### v0.4.1 / 2024-12-04
|
8
|
+
|
9
|
+
* FIXED: Handle float value in NumberDataPoint
|
10
|
+
|
11
|
+
### v0.4.0 / 2024-11-20
|
4
12
|
|
5
13
|
* ADDED: Update metrics configuration patch
|
6
14
|
|
@@ -14,7 +14,7 @@ module OpenTelemetry
|
|
14
14
|
:start_time_unix_nano, # Integer nanoseconds since Epoch
|
15
15
|
:time_unix_nano, # Integer nanoseconds since Epoch
|
16
16
|
:count, # Integer count is the number of values in the population. Must be non-negative.
|
17
|
-
:sum, #
|
17
|
+
:sum, # Float sum of the values in the population. If count is zero then this field must be zero.
|
18
18
|
:bucket_counts, # optional Array[Integer] field contains the count values of histogram for each bucket.
|
19
19
|
:explicit_bounds, # Array[Float] specifies buckets with explicitly defined bounds for values.
|
20
20
|
:exemplars, # optional List of exemplars collected from measurements that were used to form the data point
|
@@ -11,7 +11,7 @@ module OpenTelemetry
|
|
11
11
|
NumberDataPoint = Struct.new(:attributes, # Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}
|
12
12
|
:start_time_unix_nano, # Integer nanoseconds since Epoch
|
13
13
|
:time_unix_nano, # Integer nanoseconds since Epoch
|
14
|
-
:value, #
|
14
|
+
:value, # Numeric
|
15
15
|
:exemplars) # optional List of exemplars collected from measurements that were used to form the data point
|
16
16
|
end
|
17
17
|
end
|
@@ -0,0 +1,47 @@
|
|
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 SDK
|
9
|
+
module Metrics
|
10
|
+
module Instrument
|
11
|
+
# {Gauge} is the SDK implementation of {OpenTelemetry::Metrics::Gauge}.
|
12
|
+
class Gauge < OpenTelemetry::SDK::Metrics::Instrument::SynchronousInstrument
|
13
|
+
# Returns the instrument kind as a Symbol
|
14
|
+
#
|
15
|
+
# @return [Symbol]
|
16
|
+
def instrument_kind
|
17
|
+
:gauge
|
18
|
+
end
|
19
|
+
|
20
|
+
# Record the absolute value of the Gauge.
|
21
|
+
#
|
22
|
+
# @param [numeric] value The current absolute value.
|
23
|
+
# @param [Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}] attributes
|
24
|
+
# Values must be non-nil and (array of) string, boolean or numeric type.
|
25
|
+
# Array values must not contain nil elements and all elements must be of
|
26
|
+
# the same basic type (string, numeric, boolean).
|
27
|
+
def record(value, attributes: {})
|
28
|
+
# TODO: When the metrics SDK stabilizes and is merged into the main SDK,
|
29
|
+
# we can leverage the SDK Internal validation classes to enforce this:
|
30
|
+
# https://github.com/open-telemetry/opentelemetry-ruby/blob/6bec625ef49004f364457c26263df421526b60d6/sdk/lib/opentelemetry/sdk/internal.rb#L47
|
31
|
+
update(value, attributes)
|
32
|
+
nil
|
33
|
+
rescue StandardError => e
|
34
|
+
OpenTelemetry.handle_error(exception: e)
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def default_aggregation
|
41
|
+
OpenTelemetry::SDK::Metrics::Aggregation::LastValue.new
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -20,3 +20,4 @@ require 'opentelemetry/sdk/metrics/instrument/observable_counter'
|
|
20
20
|
require 'opentelemetry/sdk/metrics/instrument/observable_gauge'
|
21
21
|
require 'opentelemetry/sdk/metrics/instrument/observable_up_down_counter'
|
22
22
|
require 'opentelemetry/sdk/metrics/instrument/up_down_counter'
|
23
|
+
require 'opentelemetry/sdk/metrics/instrument/gauge'
|
@@ -46,6 +46,7 @@ module OpenTelemetry
|
|
46
46
|
case kind
|
47
47
|
when :counter then OpenTelemetry::SDK::Metrics::Instrument::Counter.new(name, unit, description, @instrumentation_scope, @meter_provider)
|
48
48
|
when :observable_counter then OpenTelemetry::SDK::Metrics::Instrument::ObservableCounter.new(name, unit, description, callback, @instrumentation_scope, @meter_provider)
|
49
|
+
when :gauge then OpenTelemetry::SDK::Metrics::Instrument::Gauge.new(name, unit, description, @instrumentation_scope, @meter_provider)
|
49
50
|
when :histogram then OpenTelemetry::SDK::Metrics::Instrument::Histogram.new(name, unit, description, @instrumentation_scope, @meter_provider)
|
50
51
|
when :observable_gauge then OpenTelemetry::SDK::Metrics::Instrument::ObservableGauge.new(name, unit, description, callback, @instrumentation_scope, @meter_provider)
|
51
52
|
when :up_down_counter then OpenTelemetry::SDK::Metrics::Instrument::UpDownCounter.new(name, unit, description, @instrumentation_scope, @meter_provider)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentelemetry-metrics-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenTelemetry Authors
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: '0.2'
|
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.
|
40
|
+
version: '0.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: opentelemetry-sdk
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,6 +220,7 @@ files:
|
|
220
220
|
- lib/opentelemetry/sdk/metrics/export/periodic_metric_reader.rb
|
221
221
|
- lib/opentelemetry/sdk/metrics/instrument.rb
|
222
222
|
- lib/opentelemetry/sdk/metrics/instrument/counter.rb
|
223
|
+
- lib/opentelemetry/sdk/metrics/instrument/gauge.rb
|
223
224
|
- lib/opentelemetry/sdk/metrics/instrument/histogram.rb
|
224
225
|
- lib/opentelemetry/sdk/metrics/instrument/observable_counter.rb
|
225
226
|
- lib/opentelemetry/sdk/metrics/instrument/observable_gauge.rb
|
@@ -239,11 +240,11 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
239
240
|
licenses:
|
240
241
|
- Apache-2.0
|
241
242
|
metadata:
|
242
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.
|
243
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.5.0/file.CHANGELOG.html
|
243
244
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/metrics_sdk
|
244
245
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
245
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.
|
246
|
-
post_install_message:
|
246
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.5.0
|
247
|
+
post_install_message:
|
247
248
|
rdoc_options: []
|
248
249
|
require_paths:
|
249
250
|
- lib
|
@@ -259,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
259
260
|
version: '0'
|
260
261
|
requirements: []
|
261
262
|
rubygems_version: 3.2.33
|
262
|
-
signing_key:
|
263
|
+
signing_key:
|
263
264
|
specification_version: 4
|
264
265
|
summary: A stats collection and distributed tracing framework
|
265
266
|
test_files: []
|