OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 from metrics import memory | 5 from metrics import memory |
6 from metrics import Metric | 6 from metrics import Metric |
7 from telemetry.value import scalar | 7 from telemetry.value import scalar |
8 | 8 |
9 | 9 |
10 class SystemMemoryMetric(Metric): | 10 class SystemMemoryMetric(Metric): |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 return | 57 return |
58 exclude_metrics = exclude_metrics or {} | 58 exclude_metrics = exclude_metrics or {} |
59 memory.AddResultsForProcesses(results, memory_stats, | 59 memory.AddResultsForProcesses(results, memory_stats, |
60 metric_trace_name=trace_name, chart_trace_name='delta', | 60 metric_trace_name=trace_name, chart_trace_name='delta', |
61 exclude_metrics=exclude_metrics) | 61 exclude_metrics=exclude_metrics) |
62 | 62 |
63 if 'SystemCommitCharge' not in exclude_metrics: | 63 if 'SystemCommitCharge' not in exclude_metrics: |
64 results.AddValue(scalar.ScalarValue( | 64 results.AddValue(scalar.ScalarValue( |
65 results.current_page, | 65 results.current_page, |
66 'commit_charge_delta.%s' % (trace_name or 'commit_charge'), 'kb', | 66 'commit_charge_delta.%s' % (trace_name or 'commit_charge'), 'kb', |
67 memory_stats['SystemCommitCharge'], important=False)) | 67 memory_stats['SystemCommitCharge'], important=False, |
| 68 higher_is_better=False)) |
68 | 69 |
69 if 'ProcessCount' not in exclude_metrics: | 70 if 'ProcessCount' not in exclude_metrics: |
70 results.AddValue(scalar.ScalarValue( | 71 results.AddValue(scalar.ScalarValue( |
71 results.current_page, | 72 results.current_page, |
72 'processes_delta.%s' % (trace_name or 'processes'), 'count', | 73 'processes_delta.%s' % (trace_name or 'processes'), 'count', |
73 memory_stats['ProcessCount'], important=False)) | 74 memory_stats['ProcessCount'], important=False, |
| 75 higher_is_better=False)) |
74 | 76 |
75 | 77 |
76 def _SubtractMemoryStats(end_memory_stats, start_memory_stats): | 78 def _SubtractMemoryStats(end_memory_stats, start_memory_stats): |
77 """Computes the difference in memory usage stats. | 79 """Computes the difference in memory usage stats. |
78 | 80 |
79 Each of the two stats arguments is a dict with the following format: | 81 Each of the two stats arguments is a dict with the following format: |
80 {'Browser': {metric: value, ...}, | 82 {'Browser': {metric: value, ...}, |
81 'Renderer': {metric: value, ...}, | 83 'Renderer': {metric: value, ...}, |
82 'Gpu': {metric: value, ...}, | 84 'Gpu': {metric: value, ...}, |
83 'ProcessCount': value, | 85 'ProcessCount': value, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 memory_stats[process_type] = end_process_memory - start_value | 117 memory_stats[process_type] = end_process_memory - start_value |
116 else: | 118 else: |
117 for metric in end_process_memory: | 119 for metric in end_process_memory: |
118 end_value = end_process_memory[metric] | 120 end_value = end_process_memory[metric] |
119 start_value = start_memory_stats[process_type][metric] or 0 | 121 start_value = start_memory_stats[process_type][metric] or 0 |
120 if 'Peak' in metric: | 122 if 'Peak' in metric: |
121 memory_stats[process_type][metric] = end_value | 123 memory_stats[process_type][metric] = end_value |
122 else: | 124 else: |
123 memory_stats[process_type][metric] = end_value - start_value | 125 memory_stats[process_type][metric] = end_value - start_value |
124 return memory_stats | 126 return memory_stats |
OLD | NEW |