class RequireProf::MemorySampler
Public Class Methods
available?()
click to toggle source
# File lib/require_prof/memory_sampler.rb, line 4 def self.available? return @available if defined?(@available) @available = defined?(JRuby) || platform =~ /linux|darwin|freebsd|solaris/ unless @available STDERR.puts "WARNING: Unsupported platform for getting memory '#{platform}'" end @available end
memory_usage()
click to toggle source
# File lib/require_prof/memory_sampler.rb, line 40 def self.memory_usage sampler.memory_usage end
platform()
click to toggle source
# File lib/require_prof/memory_sampler.rb, line 32 def self.platform if RUBY_PLATFORM =~ /java/ %x[uname -s].downcase else RUBY_PLATFORM.downcase end end
sampler()
click to toggle source
# File lib/require_prof/memory_sampler.rb, line 13 def self.sampler return @sampler if defined?(@sampler) @sampler = if defined? JRuby JavaHeapSampler.new elsif platform =~ /linux/ ProcStatus.new # ShellPS.new('ps -o rsz') elsif platform =~ /darwin9/ # 10.5 ShellPS.new('ps -o rsz') elsif platform =~ /darwin1\d+/ # >= 10.6 ShellPS.new('ps -o rss') elsif platform =~ /freebsd/ ShellPS.new('ps -o rss') elsif platform =~ /solaris/ ShellPS.new('/usr/bin/ps -o rss -p') end end