Sha256: 08c51f553bf42cc1239c916d41aa391fdee88c154a353cfa6957f1b94de65e1a

Contents?: true

Size: 1013 Bytes

Versions: 16

Compression:

Stored size: 1013 Bytes

Contents

# typed: true

module Datadog
  module Profiling
    # This module contains classes and methods which are implemented using native code in the
    # ext/ddtrace_profiling_native_extension folder, as well as some Ruby-level utilities that don't make sense to
    # write using C
    module NativeExtension
      private_class_method def self.working?
        native_working?
      end

      unless singleton_class.private_method_defined?(:native_working?)
        private_class_method def self.native_working?
          false
        end
      end

      unless singleton_class.method_defined?(:clock_id_for)
        def self.clock_id_for(_)
          nil
        end
      end

      def self.cpu_time_ns_for(thread)
        clock_id =
          begin
            clock_id_for(thread)
          rescue Errno::ESRCH
            nil
          end

        begin
          ::Process.clock_gettime(clock_id, :nanosecond) if clock_id
        rescue Errno::EINVAL
          nil
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ddtrace-1.9.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.8.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.7.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.6.1 lib/datadog/profiling/native_extension.rb
ddtrace-1.6.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.5.2 lib/datadog/profiling/native_extension.rb
ddtrace-1.5.1 lib/datadog/profiling/native_extension.rb
ddtrace-1.5.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.4.2 lib/datadog/profiling/native_extension.rb
ddtrace-1.4.1 lib/datadog/profiling/native_extension.rb
ddtrace-1.4.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.3.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.2.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.1.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.0.0 lib/datadog/profiling/native_extension.rb
ddtrace-1.0.0.beta2 lib/datadog/profiling/native_extension.rb