block_page_measurement_results.py revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
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 3# found in the LICENSE file. 4import os 5 6from telemetry.results import page_measurement_results 7 8class BlockPageMeasurementResults( 9 page_measurement_results.PageMeasurementResults): 10 def __init__(self, output_stream): 11 super(BlockPageMeasurementResults, self).__init__(output_stream) 12 13 def DidMeasurePage(self): 14 try: 15 values = self.page_specific_values_for_current_page 16 if not values: 17 # Do not output if no results were added on this page. 18 return 19 lines = ['name: %s' % values[0].page.display_name] 20 for value in sorted(values, key=lambda x: x.name): 21 lines.append('%s (%s): %s' % 22 (value.name, 23 value.units, 24 value.GetRepresentativeString())) 25 for line in lines: 26 self._output_stream.write(line) 27 self._output_stream.write(os.linesep) 28 self._output_stream.write(os.linesep) 29 self._output_stream.flush() 30 finally: 31 super(BlockPageMeasurementResults, self).DidMeasurePage() 32