1# Copyright 2013 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import logging 6import sys 7 8from lib.subcommand import SubCommand 9 10 11LOGGER = logging.getLogger('dmprof') 12 13 14class BucketsCommand(SubCommand): 15 def __init__(self): 16 super(BucketsCommand, self).__init__('Usage: %prog buckets <first-dump>') 17 18 def do(self, sys_argv, out=sys.stdout): 19 _, args = self._parse_args(sys_argv, 1) 20 dump_path = args[1] 21 bucket_set = SubCommand.load_basic_files(dump_path, True, True) 22 23 BucketsCommand._output(bucket_set, out) 24 return 0 25 26 @staticmethod 27 def _output(bucket_set, out): 28 """Prints all buckets with resolving symbols. 29 30 Args: 31 bucket_set: A BucketSet object. 32 out: An IO object to output. 33 """ 34 for bucket_id, bucket in sorted(bucket_set): 35 out.write('%d: %s\n' % (bucket_id, bucket)) 36