| Index: telemetry/telemetry/internal/results/page_test_results.py
|
| diff --git a/telemetry/telemetry/internal/results/page_test_results.py b/telemetry/telemetry/internal/results/page_test_results.py
|
| index 48c9f1285280351a1726a91c2fb9de4f25978d8c..4c320b376329d9f69307422adcd706c445388a2d 100644
|
| --- a/telemetry/telemetry/internal/results/page_test_results.py
|
| +++ b/telemetry/telemetry/internal/results/page_test_results.py
|
| @@ -5,21 +5,26 @@
|
| import collections
|
| import copy
|
| import datetime
|
| +import json
|
| import logging
|
| +import os
|
| import random
|
| import sys
|
| +import tempfile
|
| import traceback
|
|
|
| from py_utils import cloud_storage # pylint: disable=import-error
|
|
|
| +from telemetry import value as value_module
|
| +from telemetry.internal.results import chart_json_output_formatter
|
| from telemetry.internal.results import json_output_formatter
|
| from telemetry.internal.results import progress_reporter as reporter_module
|
| from telemetry.internal.results import story_run
|
| -from telemetry import value as value_module
|
| from telemetry.value import failure
|
| from telemetry.value import skip
|
| from telemetry.value import trace
|
|
|
| +from tracing.value import convert_chart_json
|
|
|
| class IterationInfo(object):
|
| def __init__(self):
|
| @@ -168,6 +173,30 @@ class PageTestResults(object):
|
| def value_set(self):
|
| return self._value_set
|
|
|
| + def AsHistogramDicts(self, benchmark_metadata):
|
| + if self.value_set:
|
| + return self.value_set
|
| + chart_json = chart_json_output_formatter.ResultsAsChartDict(
|
| + benchmark_metadata, self.all_page_specific_values,
|
| + self.all_summary_values)
|
| + info = self.iteration_info
|
| + chart_json['label'] = info.label
|
| + chart_json['benchmarkStartMs'] = info.benchmark_start_ms
|
| +
|
| + file_descriptor, chart_json_path = tempfile.mkstemp()
|
| + os.close(file_descriptor)
|
| + json.dump(chart_json, file(chart_json_path, 'w'))
|
| +
|
| + vinn_result = convert_chart_json.ConvertChartJson(chart_json_path)
|
| +
|
| + os.remove(chart_json_path)
|
| +
|
| + if vinn_result.returncode != 0:
|
| + logging.error('Error converting chart json to Histograms:\n' +
|
| + vinn_result.stdout)
|
| + return []
|
| + return json.loads(vinn_result.stdout)
|
| +
|
| def __copy__(self):
|
| cls = self.__class__
|
| result = cls.__new__(cls)
|
| @@ -339,6 +368,7 @@ class PageTestResults(object):
|
| self._SerializeTracesToDirPath(self._output_dir)
|
| for output_formatter in self._output_formatters:
|
| output_formatter.Format(self)
|
| + output_formatter.PrintViewResults()
|
| else:
|
| for output_formatter in self._output_formatters:
|
| output_formatter.FormatDisabled()
|
|
|