Sha256: 9fa1088cbd93e466a5073afaf30633e62ee358e91f732944e99f4b5929558cbb

Contents?: true

Size: 737 Bytes

Versions: 4

Compression:

Stored size: 737 Bytes

Contents

require 'securerandom'
require 'ddtrace/ext/runtime'
require 'ddtrace/utils/forking'

module Datadog
  module Runtime
    # For runtime identity
    module Identity
      extend Datadog::Utils::Forking

      module_function

      # Retrieves number of classes from runtime
      def id
        @id ||= SecureRandom.uuid

        # Check if runtime has changed, e.g. forked.
        after_fork! { @id = SecureRandom.uuid }

        @id
      end

      def lang
        Ext::Runtime::LANG
      end

      def lang_interpreter
        Ext::Runtime::LANG_INTERPRETER
      end

      def lang_version
        Ext::Runtime::LANG_VERSION
      end

      def tracer_version
        Ext::Runtime::TRACER_VERSION
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddtrace-0.46.0 lib/ddtrace/runtime/identity.rb
ddtrace-0.45.0 lib/ddtrace/runtime/identity.rb
ddtrace-0.44.0 lib/ddtrace/runtime/identity.rb
ddtrace-0.43.0 lib/ddtrace/runtime/identity.rb