浏览器查看Go runtime/trace页面空白,求解决方案及在线工具
解决Go Trace页面空白及兼容性问题
我之前也碰到过类似的情况,结合你的环境(Ubuntu16.04、Chrome66.0、Golang1.10)来看,核心问题就是旧版本浏览器和Go 1.10自带的trace viewer兼容性不匹配,导致资源加载失败。下面给你几个可行的解决办法:
一、升级浏览器版本
Chrome 66.0的版本实在太老了,Go 1.10的trace viewer依赖的Chrome DevTools组件在这个版本里没有完整支持,才会出现GET http://127.0.0.1:37721/trace_viewer_html 404和tr is not defined的错误。
在Ubuntu 16.04上升级Chrome可以这么操作:
- 先添加Chrome官方软件源:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' - 更新并安装最新版Chrome:
sudo apt-get update sudo apt-get install google-chrome-stable
升级完成后重新运行go tool trace m.trace,应该就能正常加载trace页面了。
二、使用离线Trace Viewer工具
如果不想升级浏览器,可以用第三方工具把trace文件转换成静态HTML,之后用任意浏览器打开都能查看:
- 安装开源的离线trace查看工具
go-trace-viewer:go get github.com/davecheney/go-trace-viewer - 将你的
m.trace文件转换成HTML:go-trace-viewer m.trace > trace.html - 直接用浏览器打开生成的
trace.html文件,就能看到完整的trace数据了。
三、关于在线浏览工具
出于数据安全考虑,不建议直接把trace文件上传到第三方在线平台(毕竟trace里可能包含你的程序性能细节甚至敏感逻辑)。不过你可以自己部署开源的在线trace viewer服务,比如基于Go官方trace viewer改造的web版本,本地部署后再上传m.trace文件查看,这样既安全又能满足需求。
内容的提问来源于stack exchange,提问作者Tarek
相关产品推荐
相关产品推荐

