Sha256: a61599f7e86072c1bc38ec0c7c3004d4df9a4efd38da21363bab9628c1c90d50

Contents?: true

Size: 770 Bytes

Versions: 5

Compression:

Stored size: 770 Bytes

Contents

#          Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the MIT license.

require 'ramaze'

# This little app helps me track down memory-leaks in Ramaze.

class MainController < Ramaze::Controller
  def index
    "Hello, World!"
  end
end

def memcheck(top = 10, klass = Object)
  puts
  os = Hash.new(0)
  ObjectSpace.each_object(klass){|o| yield(os, o) }
  pp sorted = os.sort_by{|k,v| -v }.first(top)
  puts

  return sorted
rescue Exception => ex
  puts ex
ensure
  GC.start
end

Thread.new do
  loop do
    # memcheck(10, String){|os, o| os[o] += 1 }
    memcheck{|os, o| os[o.class] += 1 }
    sleep 5
  end
end

Ramaze::Log.loggers.clear
Ramaze.start :adapter => :webrick, :mode => :live

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ramaze-2023.01.06 examples/misc/memleak_detector.rb
ramaze-2012.12.08 examples/misc/memleak_detector.rb
ramaze-2012.12.08b examples/misc/memleak_detector.rb
ramaze-2012.04.14 examples/misc/memleak_detector.rb
ramaze-2012.03.07 examples/misc/memleak_detector.rb