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

Unified Diff: dashboard/dashboard/pinpoint/models/quest/read_value.py

Issue 3014663002: [pinpoint] Add trace links.
Patch Set: Created 3 years, 3 months 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: dashboard/dashboard/pinpoint/models/quest/read_value.py
diff --git a/dashboard/dashboard/pinpoint/models/quest/read_value.py b/dashboard/dashboard/pinpoint/models/quest/read_value.py
index 090ff45e2b1513ff4f5939b78b36c0d09cedff7d..e2ae829cbab0740ccdcc0c1b2bbd0211560dc34b 100644
--- a/dashboard/dashboard/pinpoint/models/quest/read_value.py
+++ b/dashboard/dashboard/pinpoint/models/quest/read_value.py
@@ -42,11 +42,15 @@ class _ReadChartJsonValueExecution(execution.Execution):
super(_ReadChartJsonValueExecution, self).__init__()
self._chart = chart
self._tir_label = tir_label
- self._trace = trace or 'summary'
+ self._trace = trace
self._isolate_hash = isolate_hash
+ self._trace_url = None
+
def _AsDict(self):
- return {}
+ if not self._trace_url:
shatch 2017/09/27 11:55:50 Getting a failure here with no attribute _trace_ur
+ return {}
+ return {'trace_url': self._trace_url}
def _Poll(self):
chartjson = _RetrieveOutputJson(self._isolate_hash, 'chartjson-output.json')
@@ -56,13 +60,13 @@ class _ReadChartJsonValueExecution(execution.Execution):
else:
chart_name = self._chart
if chart_name not in chartjson['charts']:
- raise ReadValueError('The chart "%s" is not in the results.' %
- chart_name)
- if self._trace not in chartjson['charts'][chart_name]:
- raise ReadValueError('The trace "%s" is not in the results.' %
- self._trace)
- chart = chartjson['charts'][chart_name][self._trace]
+ raise ReadValueError('The chart "%s" is not in the results.' % chart_name)
+ trace_name = self._trace or 'summary'
+ if trace_name not in chartjson['charts'][chart_name]:
+ raise ReadValueError('The trace "%s" is not in the results.' % trace_name)
+
+ chart = chartjson['charts'][chart_name][trace_name]
if chart['type'] == 'list_of_scalar_values':
result_values = chart['values']
elif chart['type'] == 'histogram':
@@ -70,6 +74,9 @@ class _ReadChartJsonValueExecution(execution.Execution):
elif chart['type'] == 'scalar':
result_values = [chart['value']]
+ if self._trace:
shatch 2017/09/27 11:55:50 The bug linked (technically the one duped and clos
perezju 2017/09/27 12:24:06 chartjson (I think) only keeps a link to one of th
+ self._trace_url = chartjson['charts']['trace'][self._trace]['cloud_url']
+
self._Complete(result_values=tuple(result_values))

Powered by Google App Engine
This is Rietveld 408576698