- add sources.
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / page / block_page_measurement_results.py
1 # Copyright (c) 2012 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 import os
5
6 from telemetry.page import page_measurement_results
7
8 class BlockPageMeasurementResults(
9     page_measurement_results.PageMeasurementResults):
10   def __init__(self, output_file):
11     super(BlockPageMeasurementResults, self).__init__()
12     self._output_file = output_file
13
14   def DidMeasurePage(self):
15     page_values = self.values_for_current_page
16
17     if not page_values.values:
18       # Do not output if no results were added on this page.
19       super(BlockPageMeasurementResults, self).DidMeasurePage()
20       return
21
22     lines = ['name: %s' %
23              self.values_for_current_page.page.display_name]
24     sorted_measurement_names = page_values.measurement_names
25     sorted_measurement_names.sort()
26
27     for measurement_name in sorted_measurement_names:
28       value = page_values.FindValueByMeasurementName(measurement_name)
29       lines.append('%s (%s): %s' %
30                  (measurement_name,
31                   value.units,
32                   value.output_value))
33     for line in lines:
34       self._output_file.write(line)
35       self._output_file.write(os.linesep)
36     self._output_file.write(os.linesep)
37     self._output_file.flush()
38
39     super(BlockPageMeasurementResults, self).DidMeasurePage()