- add sources.
[platform/framework/web/crosswalk.git] / src / tools / deep_memory_profiler / subcommands / buckets.py
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
5 import logging
6 import sys
7
8 from lib.subcommand import SubCommand
9
10
11 LOGGER = logging.getLogger('dmprof')
12
13
14 class 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))