Sha256: ee0673f3f0241a3041980e003ffbc9cfc3d2efe8ebd0ff35b3086e6069b782e6

Contents?: true

Size: 648 Bytes

Versions: 10

Compression:

Stored size: 648 Bytes

Contents

module Appsignal
  class Hooks
    # @api private
    class GvlHook < Appsignal::Hooks::Hook
      register :gvl

      def dependencies_present?
        return false if Appsignal::System.jruby?
        require "gvltools"
        Appsignal.config && Appsignal::Probes::GvlProbe.dependencies_present?
      rescue LoadError
        false
      end

      def install
        Appsignal::Minutely.probes.register :gvl, Appsignal::Probes::GvlProbe
        ::GVLTools::GlobalTimer.enable if Appsignal.config[:enable_gvl_global_timer]
        ::GVLTools::WaitingThreads.enable if Appsignal.config[:enable_gvl_waiting_threads]
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
appsignal-3.3.11-java lib/appsignal/hooks/gvl.rb
appsignal-3.3.11 lib/appsignal/hooks/gvl.rb
appsignal-3.4.0-java lib/appsignal/hooks/gvl.rb
appsignal-3.4.0 lib/appsignal/hooks/gvl.rb
appsignal-3.3.10-java lib/appsignal/hooks/gvl.rb
appsignal-3.3.10 lib/appsignal/hooks/gvl.rb
appsignal-3.3.9-java lib/appsignal/hooks/gvl.rb
appsignal-3.3.9 lib/appsignal/hooks/gvl.rb
appsignal-3.3.8-java lib/appsignal/hooks/gvl.rb
appsignal-3.3.8 lib/appsignal/hooks/gvl.rb