Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

GC stat-monitoring methods similar to Ruby Enterprise Edition

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 README.txt
Octocat-spinner-32 jruby_gc_stats.gemspec
README.txt
Title: jruby-gc-stats

Description:

This is a set of GC-monitoring methods for JRuby that mimic behavior of Ruby
Enterprise Edition's GC methods. In our case, these are all implemented in
Ruby, using the JVM's built-in monitoring and management APIs.

Example Usage:

require 'jruby/gc_stats'

require 'pp'
puts "Enabling stats..."
GC.enable_stats
puts "allocation size: #{GC.allocation_size}"
puts "Running loop..."
1_000.times {
  ary = []
  1_000.times {ary << 'foo' + 'bar'}
}
puts "collections: #{GC.collections}"
puts "time: #{GC.time}ms"
puts "bytes since last GC: #{GC.growth}"
puts "size change: #{GC.allocation_size}"
puts "Dumping..."
GC.dump

puts "Dumping caller for all threads..."
2.times {Thread.new {sleep}}
pp caller_for_all_threads
Something went wrong with that request. Please try again.