diff options
author | zedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-06-09 05:01:26 +0000 |
---|---|---|
committer | zedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-06-09 05:01:26 +0000 |
commit | db9bf40124ebc310e30913087e24071666b8867b (patch) | |
tree | 8d913099c11e9876232b68c1dda52b2bc28756b5 /lib/mongrel/debug.rb | |
parent | d9e061c97d2280b367cb3882c42f85b1633d836e (diff) | |
download | unicorn-db9bf40124ebc310e30913087e24071666b8867b.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@236 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib/mongrel/debug.rb')
-rw-r--r-- | lib/mongrel/debug.rb | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/lib/mongrel/debug.rb b/lib/mongrel/debug.rb index 48a300a..2a13ae5 100644 --- a/lib/mongrel/debug.rb +++ b/lib/mongrel/debug.rb @@ -79,12 +79,14 @@ module ObjectTracker ospace = Set.new counts = {} - # Strings can't be tracked easily and are so numerous that they drown out all else - # so we just ignore them in the counts. ObjectSpace.each_object do |obj| - ospace << obj.object_id - counts[obj.class] ||= 0 - counts[obj.class] += 1 + begin + ospace << obj.object_id + counts[obj.class] ||= 0 + counts[obj.class] += 1 + rescue Object + # skip since object_id can magically get parameters + end end dead_objects = @active_objects - ospace @@ -194,15 +196,19 @@ module RequestLog def process(request, response) MongrelDbg::trace(:threads, "#{Time.now} REQUEST #{request.params['PATH_INFO']}") ObjectSpace.each_object do |obj| - if obj.class == Mongrel::HttpServer - worker_list = obj.workers.list + begin + if obj.class == Mongrel::HttpServer + worker_list = obj.workers.list - if worker_list.length > 0 - keys = "-----\n\tKEYS:" - worker_list.each {|t| keys << "\n\t\t-- #{t}: #{t.keys.inspect}" } - end + if worker_list.length > 0 + keys = "-----\n\tKEYS:" + worker_list.each {|t| keys << "\n\t\t-- #{t}: #{t.keys.inspect}" } + end - MongrelDbg::trace(:threads, "#{obj.host}:#{obj.port} -- THREADS: #{worker_list.length} #{keys}") + MongrelDbg::trace(:threads, "#{obj.host}:#{obj.port} -- THREADS: #{worker_list.length} #{keys}") + end + rescue Object + # ignore since obj.class can sometimes take parameters end end end |