opentelemetry-metrics-sdk 0.7.0 → 0.7.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/opentelemetry/sdk/metrics/configuration_patch.rb +5 -0
- data/lib/opentelemetry/sdk/metrics/export/periodic_metric_reader.rb +7 -0
- data/lib/opentelemetry/sdk/metrics/fork_hooks.rb +35 -0
- data/lib/opentelemetry/sdk/metrics/version.rb +1 -1
- data/lib/opentelemetry/sdk/metrics.rb +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc1d84ebb6e305f37ffa30f5b0c11a1e19849be18c6cc168fdadf19249c90fd8
|
4
|
+
data.tar.gz: 6d57060316bdc92a26e148e8e7961fe846b48f9eab51611e4e715de117a47195
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d60864cb9910c887ec19cbf4a9a708783824de6f937d4460e4a12aa0a3ec944e6059c50faa0e80966aa74f2969a85a47e6a11412e2dfcbc81fb12931f1960f89
|
7
|
+
data.tar.gz: 39bf5ad02f22f93b1282a693aa4f546e0a9753adf31c5a78bbf2d3096d8ac91b695cedc79eb2c652e4ef99e759cb9d250e7f130dae1ccfc8171625af7da3bdca
|
data/CHANGELOG.md
CHANGED
@@ -25,6 +25,7 @@ module OpenTelemetry
|
|
25
25
|
def metrics_configuration_hook
|
26
26
|
OpenTelemetry.meter_provider = Metrics::MeterProvider.new(resource: @resource)
|
27
27
|
configure_metric_readers
|
28
|
+
attach_fork_hooks!
|
28
29
|
end
|
29
30
|
|
30
31
|
def configure_metric_readers
|
@@ -52,6 +53,10 @@ module OpenTelemetry
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
end
|
56
|
+
|
57
|
+
def attach_fork_hooks!
|
58
|
+
ForkHooks.attach!
|
59
|
+
end
|
55
60
|
end
|
56
61
|
end
|
57
62
|
end
|
@@ -78,6 +78,13 @@ module OpenTelemetry
|
|
78
78
|
Export::FAILURE
|
79
79
|
end
|
80
80
|
|
81
|
+
def after_fork
|
82
|
+
@exporter.reset if @exporter.respond_to?(:reset)
|
83
|
+
collect # move past previously reported metrics from parent process
|
84
|
+
@thread = nil
|
85
|
+
start
|
86
|
+
end
|
87
|
+
|
81
88
|
# Check both @thread and @continue object to determine if current
|
82
89
|
# PeriodicMetricReader is still alive. If one of them is true/alive,
|
83
90
|
# then PeriodicMetricReader is determined as alive
|
@@ -0,0 +1,35 @@
|
|
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
|
+
# ForkHooks implements methods to run callbacks before and after forking a Process by overriding Process::_fork
|
11
|
+
# This is used to ensure that the PeriodicMetricReader is restarted after forking
|
12
|
+
module ForkHooks
|
13
|
+
def self.attach!
|
14
|
+
return if @fork_hooks_attached
|
15
|
+
|
16
|
+
Process.singleton_class.prepend(ForkHooks)
|
17
|
+
@fork_hooks_attached = true
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.after_fork
|
21
|
+
::OpenTelemetry.meter_provider.metric_readers.each do |reader|
|
22
|
+
reader.after_fork if reader.respond_to?(:after_fork)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def _fork
|
27
|
+
parent_pid = Process.pid
|
28
|
+
super.tap do
|
29
|
+
ForkHooks.after_fork unless Process.pid == parent_pid
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -16,6 +16,7 @@ end
|
|
16
16
|
require 'opentelemetry/sdk/metrics/aggregation'
|
17
17
|
require 'opentelemetry/sdk/metrics/configuration_patch'
|
18
18
|
require 'opentelemetry/sdk/metrics/export'
|
19
|
+
require 'opentelemetry/sdk/metrics/fork_hooks'
|
19
20
|
require 'opentelemetry/sdk/metrics/instrument'
|
20
21
|
require 'opentelemetry/sdk/metrics/meter'
|
21
22
|
require 'opentelemetry/sdk/metrics/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.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenTelemetry Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentelemetry-api
|
@@ -225,6 +225,7 @@ files:
|
|
225
225
|
- lib/opentelemetry/sdk/metrics/export/in_memory_metric_pull_exporter.rb
|
226
226
|
- lib/opentelemetry/sdk/metrics/export/metric_reader.rb
|
227
227
|
- lib/opentelemetry/sdk/metrics/export/periodic_metric_reader.rb
|
228
|
+
- lib/opentelemetry/sdk/metrics/fork_hooks.rb
|
228
229
|
- lib/opentelemetry/sdk/metrics/instrument.rb
|
229
230
|
- lib/opentelemetry/sdk/metrics/instrument/counter.rb
|
230
231
|
- lib/opentelemetry/sdk/metrics/instrument/gauge.rb
|
@@ -247,10 +248,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
|
247
248
|
licenses:
|
248
249
|
- Apache-2.0
|
249
250
|
metadata:
|
250
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.7.
|
251
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.7.1/file.CHANGELOG.html
|
251
252
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/metrics_sdk
|
252
253
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
253
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.7.
|
254
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-metrics-sdk/v0.7.1
|
254
255
|
post_install_message:
|
255
256
|
rdoc_options: []
|
256
257
|
require_paths:
|