Sha256: c58a6e943c8b65274d1308a0e7fa7caf17e13931311e112d2dcf8ed35a82156c
Contents?: true
Size: 1.13 KB
Versions: 7
Compression:
Stored size: 1.13 KB
Contents
# This file is used to load the profiling native extension. It works in two steps: # # 1. Load the ddtrace_profiling_loader extension. This extension will be used to load the actual extension, but in # a special way that avoids exposing native-level code symbols. See `ddtrace_profiling_loader.c` for more details. # # 2. Use the Datadog::Profiling::Loader exposed by the ddtrace_profiling_loader extension to load the actual # profiling native extension. # # All code on this file is on-purpose at the top-level; this makes it so this file is executed only once, # the first time it gets required, to avoid any issues with the native extension being initialized more than once. require "ddtrace_profiling_loader.#{RUBY_VERSION}_#{RUBY_PLATFORM}" extension_name = "ddtrace_profiling_native_extension.#{RUBY_VERSION}_#{RUBY_PLATFORM}" full_file_path = "#{__dir__}/../../#{extension_name}.#{RbConfig::CONFIG['DLEXT']}" init_function_name = "Init_#{extension_name.split('.').first}" status, result = Datadog::Profiling::Loader._native_load(full_file_path, init_function_name) raise "Failure to load #{extension_name} due to #{result}" if status == :error
Version data entries
7 entries across 7 versions & 1 rubygems