From 75ea964b3f6073076e1a86a0de2be9a2f159da24 Mon Sep 17 00:00:00 2001 From: "Hana (Hyang-Ah) Kim" Date: Tue, 18 Feb 2020 22:41:20 -0500 Subject: cmd/trace: update to use WebComponents V0 polyfill Old trace viewer stopped working with Chrome M80+ because the old trace viewer heavily depended on WebComponents V0 which are deprecated. Trace viewer recently migrated to use WebComponents V0 polyfill (crbug.com/1036492). This CL brings in the newly updated trace_viewer_full.html (sync'd @ 9508452e) and updates the javascript snippet included in the /trace endpoint to use the polyfill. This brings in webcomponents.min.js copied from https://chromium.googlesource.com/catapult/+/9508452e18f130c98499cb4c4f1e1efaedee8962/third_party/polymer/components/webcomponentsjs/webcomponents.min.js That is necessary because the /trace endpoint needs to import the vulcanized trace_viewer_full.html. It's possible that some features are not working correctly with this polyfill. In that case, report the issue to crbug.com/1036492. There will be a warning message in the UI (yellow banner above the timeline) which can be hidden by clicking the 'hide' button. This allows to render the trace in browsers other than chrome in theory, but I observed some buttons and functions still don't work outside chrome. Fixes #34374. Change-Id: Ib575f756f5e6b22ad904ede6e4d224a995ebe259 Reviewed-on: https://go-review.googlesource.com/c/go/+/219997 Run-TryBot: Hyang-Ah Hana Kim TryBot-Result: Gobot Gobot Reviewed-by: Austin Clements --- src/cmd/trace/trace.go | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'src/cmd') diff --git a/src/cmd/trace/trace.go b/src/cmd/trace/trace.go index f39a397d0d..b452376627 100644 --- a/src/cmd/trace/trace.go +++ b/src/cmd/trace/trace.go @@ -25,6 +25,7 @@ func init() { http.HandleFunc("/trace", httpTrace) http.HandleFunc("/jsontrace", httpJsonTrace) http.HandleFunc("/trace_viewer_html", httpTraceViewerHTML) + http.HandleFunc("/webcomponents.min.js", webcomponentsJS) } // httpTrace serves either whole trace (goid==0) or trace for goid goroutine. @@ -43,14 +44,26 @@ func httpTrace(w http.ResponseWriter, r *http.Request) { } -// See https://github.com/catapult-project/catapult/blob/master/tracing/docs/embedding-trace-viewer.md -// This is almost verbatim copy of: -// https://github.com/catapult-project/catapult/blob/master/tracing/bin/index.html -// on revision 5f9e4c3eaa555bdef18218a89f38c768303b7b6e. +// https://chromium.googlesource.com/catapult/+/9508452e18f130c98499cb4c4f1e1efaedee8962/tracing/docs/embedding-trace-viewer.md +// This is almost verbatim copy of https://chromium-review.googlesource.com/c/catapult/+/2062938/2/tracing/bin/index.html var templTrace = ` - + + + + +