Class: Datadog::Profiling::Tasks::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/profiling/tasks/setup.rb

Overview

Takes care of restarting the profiler when the process forks

Constant Summary collapse

ACTIVATE_EXTENSIONS_ONLY_ONCE =
Core::Utils::OnlyOnce.new

Instance Method Summary collapse

Instance Method Details

#runObject



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/datadog/profiling/tasks/setup.rb', line 13

def run
  ACTIVATE_EXTENSIONS_ONLY_ONCE.run do
    Datadog::Core::Utils::AtForkMonkeyPatch.apply!
    setup_at_fork_hooks
  rescue StandardError, ScriptError => e
    Datadog.logger.warn do
      "Profiler extensions unavailable. Cause: #{e.class.name} #{e.message} " \
      "Location: #{Array(e.backtrace).first}"
    end
  end
end