• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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