Skip to content

Commit dedabe7

Browse files
committed
feat: remove the before_hook as it is unused
1 parent 67a6229 commit dedabe7

File tree

2 files changed

+6
-49
lines changed

2 files changed

+6
-49
lines changed

metrics_sdk/lib/opentelemetry/sdk/metrics/fork_hooks.rb

-7
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,13 @@ def self.attach!
1717
@fork_hooks_attached = true
1818
end
1919

20-
def self.before_fork
21-
::OpenTelemetry.meter_provider.metric_readers.each do |reader|
22-
reader.before_fork if reader.respond_to?(:before_fork)
23-
end
24-
end
25-
2620
def self.after_fork
2721
::OpenTelemetry.meter_provider.metric_readers.each do |reader|
2822
reader.after_fork if reader.respond_to?(:after_fork)
2923
end
3024
end
3125

3226
def _fork
33-
ForkHooks.before_fork
3427
parent_pid = Process.pid
3528
super.tap do
3629
ForkHooks.after_fork unless Process.pid == parent_pid

metrics_sdk/test/opentelemetry/sdk/metrics/fork_hooks_test.rb

+6-42
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
require 'json'
99

1010
describe OpenTelemetry::SDK::Metrics::ForkHooks do
11-
def fork_with_fork_hooks(before_fork_lambda, after_fork_lambda)
11+
def fork_with_fork_hooks(after_fork_lambda)
1212
with_pipe do |inner_read_io, inner_write_io|
1313
child_pid = fork do # fork twice to avoid prepending fork in the parent process
14-
setup_fork_hooks(before_fork_lambda, after_fork_lambda) do
14+
setup_fork_hooks(after_fork_lambda) do
1515
grandchild_pid = fork {}
1616
Timeout.timeout(5) { Process.waitpid(grandchild_pid) }
1717
message = { 'child_pid' => Process.pid, 'grandchild_pid' => grandchild_pid }.to_json
@@ -31,12 +31,10 @@ def fork_with_fork_hooks(before_fork_lambda, after_fork_lambda)
3131
end
3232
end
3333

34-
def setup_fork_hooks(before_hook, after_hook)
35-
OpenTelemetry::SDK::Metrics::ForkHooks.stub(:before_fork, before_hook) do
36-
OpenTelemetry::SDK::Metrics::ForkHooks.stub(:after_fork, after_hook) do
37-
Process.singleton_class.prepend(OpenTelemetry::SDK::Metrics::ForkHooks)
38-
yield if block_given?
39-
end
34+
def setup_fork_hooks(after_hook)
35+
OpenTelemetry::SDK::Metrics::ForkHooks.stub(:after_fork, after_hook) do
36+
Process.singleton_class.prepend(OpenTelemetry::SDK::Metrics::ForkHooks)
37+
yield if block_given?
4038
end
4139
end
4240

@@ -48,22 +46,8 @@ def with_pipe
4846
write_io.close unless write_io.closed?
4947
end
5048

51-
it 'runs the before_hook before forking' do
52-
with_pipe do |inner_read_io, inner_write_io|
53-
before_fork_lambda = proc do
54-
inner_write_io.puts "before_fork was called on #{Process.pid}"
55-
end
56-
after_fork_lambda = proc {}
57-
forking_pid, _forked_pid = fork_with_fork_hooks(before_fork_lambda, after_fork_lambda)
58-
59-
before_fork_message = inner_read_io.gets.chomp
60-
assert_equal(before_fork_message, "before_fork was called on #{forking_pid}")
61-
end
62-
end
63-
6449
it 'runs the after_hook after forking' do
6550
with_pipe do |after_fork_read_io, after_fork_write_io|
66-
before_fork_lambda = proc {}
6751
after_fork_lambda = proc do
6852
message = { 'after_fork_pid' => Process.pid }.to_json
6953
after_fork_write_io.puts message
@@ -78,26 +62,6 @@ def with_pipe
7862
end
7963
end
8064

81-
it 'calls before_fork on metric readers' do
82-
reader1 = Class.new do
83-
attr_reader :before_fork_called
84-
85-
def before_fork
86-
@before_fork_called = true
87-
end
88-
end.new
89-
90-
reader2 = OpenStruct.new
91-
92-
meter_provider = OpenTelemetry::SDK::Metrics::MeterProvider.new
93-
meter_provider.add_metric_reader(reader1)
94-
meter_provider.add_metric_reader(reader2)
95-
::OpenTelemetry.stub(:meter_provider, meter_provider) do
96-
OpenTelemetry::SDK::Metrics::ForkHooks.before_fork
97-
end
98-
assert(reader1.before_fork_called)
99-
end
100-
10165
it 'calls after_fork on metric readers' do
10266
reader1 = Class.new do
10367
attr_reader :after_fork_called

0 commit comments

Comments
 (0)