OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import collections | 5 import collections |
6 | 6 |
7 from telemetry.timeline import memory_dump_event | 7 from telemetry.timeline import memory_dump_event |
| 8 from telemetry.value import improvement_direction |
8 from telemetry.value import list_of_scalar_values | 9 from telemetry.value import list_of_scalar_values |
9 from telemetry.web_perf.metrics import timeline_based_metric | 10 from telemetry.web_perf.metrics import timeline_based_metric |
10 | 11 |
11 | 12 |
12 DEFAULT_METRICS = memory_dump_event.MMAPS_METRICS.keys() | 13 DEFAULT_METRICS = memory_dump_event.MMAPS_METRICS.keys() |
13 | 14 |
14 | 15 |
15 def _AggregateDicts(dicts): | 16 def _AggregateDicts(dicts): |
16 """Turn a sequence of dictionaries into a dictionary of lists.""" | 17 """Turn a sequence of dictionaries into a dictionary of lists.""" |
17 result = collections.defaultdict(list) | 18 result = collections.defaultdict(list) |
(...skipping 21 matching lines...) Expand all Loading... |
39 else: | 40 else: |
40 metric_values = _AggregateDicts( | 41 metric_values = _AggregateDicts( |
41 dump.GetMemoryUsage() for dump in memory_dumps) | 42 dump.GetMemoryUsage() for dump in memory_dumps) |
42 none_reason = None | 43 none_reason = None |
43 for metric, values in metric_values.iteritems(): | 44 for metric, values in metric_values.iteritems(): |
44 results.AddValue(list_of_scalar_values.ListOfScalarValues( | 45 results.AddValue(list_of_scalar_values.ListOfScalarValues( |
45 page=results.current_page, | 46 page=results.current_page, |
46 name='memory_%s_%s' % (metric, process_name), | 47 name='memory_%s_%s' % (metric, process_name), |
47 units='bytes', | 48 units='bytes', |
48 values=values, | 49 values=values, |
49 none_value_reason=none_reason)) | 50 none_value_reason=none_reason, |
| 51 improvement_direction=improvement_direction.DOWN)) |
50 | 52 |
51 memory_dumps = filter(HasMmapsDuringInteractions, | 53 memory_dumps = filter(HasMmapsDuringInteractions, |
52 model.IterGlobalMemoryDumps()) | 54 model.IterGlobalMemoryDumps()) |
53 | 55 |
54 ReportResultsForProcess(memory_dumps, 'total') | 56 ReportResultsForProcess(memory_dumps, 'total') |
55 | 57 |
56 process_dumps_by_name = _AggregateDicts( | 58 process_dumps_by_name = _AggregateDicts( |
57 {process_dump.process_name.lower().replace(' ', '_'): process_dump | 59 {process_dump.process_name.lower().replace(' ', '_'): process_dump |
58 for process_dump in memory_dump.IterProcessMemoryDumps()} | 60 for process_dump in memory_dump.IterProcessMemoryDumps()} |
59 for memory_dump in memory_dumps) | 61 for memory_dump in memory_dumps) |
60 for process_name, process_dumps in process_dumps_by_name.iteritems(): | 62 for process_name, process_dumps in process_dumps_by_name.iteritems(): |
61 ReportResultsForProcess(process_dumps, process_name) | 63 ReportResultsForProcess(process_dumps, process_name) |
OLD | NEW |