Sha256: c75810e261edb51de7e15b9f10d12de47f293045fa827688aab1617da83e303b

Contents?: true

Size: 841 Bytes

Versions: 40

Compression:

Stored size: 841 Bytes

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'thread'
require 'new_relic/agent/vm/snapshot'

module NewRelic
  module Agent
    module VM
      class JRubyVM
        def snapshot
          snap = Snapshot.new
          gather_stats(snap)
          snap
        end

        def gather_stats(snap)
          if supports?(:gc_runs)
            gc_stats = GC.stat
            snap.gc_runs = gc_stats[:count]
          end

          snap.thread_count = Thread.list.size
        end

        def supports?(key)
          case key
          when :gc_runs
            RUBY_VERSION >= "1.9.2"
          when :thread_count
            true
          else
            false
          end
        end
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 2 rubygems

Version Path
newrelic_rpm-3.18.1.330 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.18.0.329 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.17.2.327 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.17.1.326 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.17.0.325 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.16.3.323 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.16.2.321 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.16.1.320 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.16.0.318 lib/new_relic/agent/vm/jruby_vm.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.15.2.317 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.15.1.316 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.15.0.314 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.14.3.313 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.14.2.312 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.14.1.311 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.14.0.305 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.13.2.302 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.13.1.300 lib/new_relic/agent/vm/jruby_vm.rb
newrelic_rpm-3.13.0.299 lib/new_relic/agent/vm/jruby_vm.rb