# File lib/mongrel/debug.rb, line 78
 78:   def ObjectTracker.sample
 79:     ospace = Set.new
 80:     counts = {}
 81:     
 82:     ObjectSpace.each_object do |obj|
 83:       begin
 84:         ospace << obj.object_id
 85:         counts[obj.class] ||= 0
 86:         counts[obj.class] += 1
 87:       rescue Object
 88:         # skip since object_id can magically get parameters
 89:       end
 90:     end
 91:     
 92:     dead_objects = @active_objects - ospace
 93:     new_objects = ospace - @active_objects
 94:     live_objects = ospace & @active_objects
 95:     
 96:     MongrelDbg::trace(:objects, "COUNTS: #{dead_objects.length},#{new_objects.length},#{live_objects.length}")
 97:     
 98:     if MongrelDbg::tracing? :objects
 99:       top_20 = counts.sort{|a,b| b[1] <=> a[1]}[0..20]
100:       MongrelDbg::trace(:objects,"TOP 20: #{top_20.inspect}")
101:     end
102:     
103:     @active_objects = live_objects + new_objects
104:     
105:     [@active_objects, top_20]
106:   end