# File lib/mongrel/debug.rb, line 78
  def ObjectTracker.sample
    ospace = Set.new
    counts = {}
    
    ObjectSpace.each_object do |obj|
      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
    new_objects = ospace - @active_objects
    live_objects = ospace & @active_objects
    
    MongrelDbg::trace(:objects, "COUNTS: #{dead_objects.length},#{new_objects.length},#{live_objects.length}")
    
    if MongrelDbg::tracing? :objects
      top_20 = counts.sort{|a,b| b[1] <=> a[1]}[0..20]
      MongrelDbg::trace(:objects,"TOP 20: #{top_20.inspect}")
    end
    
    @active_objects = live_objects + new_objects
    
    [@active_objects, top_20]
  end