code: def print_stats(self, stream=None):
          
          if not stream: # pragma: no cover
              stream = sys.stdout
          self.metadata.sort(key=lambda x: -x.size)
          stream.write('%-10s %8s %-12s %-46s\n' % ('id', 'size', 'type', 'representation'))
          for g in self.metadata:
              stream.write('0x%08x %8d %-12s %-46s\n' % (g.id, g.size, trunc(g.type, 12),
                  trunc(g.str, 46)))
          stream.write('Garbage: %8d collected objects (%s in cycles): %12s\n' % \
              (self.count, self.num_in_cycles, pp(self.total_size)))
docs: Log annotated garbage objects to console or file.
  
          :param stream: open file, uses sys.stdout if not given