Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(549)

Unified Diff: telemetry/telemetry/internal/results/html_output_formatter.py

Issue 2556213002: Revert of Replace ValueSetOutputFormatter with HistogramSetJsonOutputFormatter. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/results/html_output_formatter.py
diff --git a/telemetry/telemetry/internal/results/html_output_formatter.py b/telemetry/telemetry/internal/results/html_output_formatter.py
index 2cf32dedc72634fa874eabed6a03a70955b61e49..63d4cc728003ed8fd370d214b9781839c83aad4a 100644
--- a/telemetry/telemetry/internal/results/html_output_formatter.py
+++ b/telemetry/telemetry/internal/results/html_output_formatter.py
@@ -7,6 +7,8 @@
import logging
import os
import re
+
+from py_utils import cloud_storage # pylint: disable=import-error
from telemetry.core import util
from telemetry.internal.results import chart_json_output_formatter
@@ -37,11 +39,13 @@
# TODO(eakuefner): rewrite template to use Telemetry JSON directly
class HtmlOutputFormatter(output_formatter.OutputFormatter):
- def __init__(self, output_stream, metadata, reset_results, browser_type,
- results_label=None):
+ def __init__(self, output_stream, metadata, reset_results, upload_results,
+ browser_type, results_label=None, upload_bucket=None):
super(HtmlOutputFormatter, self).__init__(output_stream)
self._metadata = metadata
self._reset_results = reset_results
+ self._upload_results = upload_results
+ self._upload_bucket = upload_bucket
self._build_time = self._GetBuildTime()
self._combined_results = []
if results_label:
@@ -155,7 +159,8 @@
def Format(self, page_test_results):
if page_test_results.value_set:
html2_formatter = html2_output_formatter.Html2OutputFormatter(
- self._output_stream, self._metadata, self._reset_results)
+ self._output_stream, self._metadata, self._reset_results,
+ self._upload_results, self._upload_bucket)
html2_formatter.Format(page_test_results)
return
@@ -176,3 +181,19 @@
html = html.replace('%json_units%', self._GetUnitJson())
html = html.replace('%plugins%', self._GetPlugins())
self._SaveResults(html)
+
+ if self._upload_results and self._upload_bucket:
+ file_path = os.path.abspath(self._output_stream.name)
+ file_name = 'html-results/results-%s' % datetime.datetime.now().strftime(
+ '%Y-%m-%d_%H-%M-%S')
+ try:
+ cloud_storage.Insert(self._upload_bucket, file_name, file_path)
+ print 'View online at',
+ print 'http://storage.googleapis.com/{bucket}/{path}'.format(
+ bucket=self._upload_bucket, path=file_name)
+ except cloud_storage.PermissionError as e:
+ logging.error('Cannot upload profiling files to cloud storage due to '
+ ' permission error: %s' % e.message)
+ print
+ print 'View result at file://%s' % os.path.abspath(
+ self._output_stream.name)

Powered by Google App Engine
This is Rietveld 408576698