Skip to content

Commit cd3ce6a

Browse files
authored
[NO-TICKET] Hide native code for memfd close (#4755)
1 parent b59bd25 commit cd3ce6a

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

lib/datadog/core/configuration/components.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def shutdown!(replacement = nil)
210210
telemetry.emit_closing! unless replacement&.telemetry&.enabled
211211
telemetry.shutdown!
212212

213-
Core::ProcessDiscovery._native_close_tracer_memfd(@process_discovery_fd, @logger) if @process_discovery_fd
213+
@process_discovery_fd&.shutdown!
214214
end
215215

216216
# Returns the current state of various components.

lib/datadog/core/process_discovery.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
require 'datadog/core/process_discovery/tracer_memfd'
4+
35
module Datadog
46
module Core
57
# Class used to store tracer metadata in a native file descriptor.
@@ -10,7 +12,9 @@ def self.get_and_store_metadata(settings, logger)
1012
return
1113
end
1214
metadata = get_metadata(settings)
13-
_native_store_tracer_metadata(logger, **metadata)
15+
memfd = _native_store_tracer_metadata(logger, **metadata)
16+
memfd.logger = logger if memfd
17+
memfd
1418
end
1519

1620
# According to the RFC, runtime_id, service_name, service_env, service_version are optional.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
module Datadog
4+
module Core
5+
class ProcessDiscovery
6+
class TracerMemfd
7+
attr_accessor :logger
8+
9+
def shutdown!
10+
ProcessDiscovery._native_close_tracer_memfd(self, logger)
11+
end
12+
end
13+
end
14+
end
15+
end
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module Datadog
2+
module Core
3+
class ProcessDiscovery
4+
class TracerMemfd
5+
attr_accessor logger: Datadog::Core::Logger
6+
7+
def shutdown!: () -> void
8+
end
9+
end
10+
end
11+
end

spec/datadog/core/configuration/components_spec.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
RSpec.describe Datadog::Core::Configuration::Components do
2929
subject(:components) { described_class.new(settings) }
3030

31-
# Using a double does not give access to superclass methods like debug
3231
let(:logger) do
3332
instance_double(Datadog::Core::Logger).tap do |logger|
3433
allow(logger).to receive(:debug)

0 commit comments

Comments
 (0)