【发布时间】:2020-11-11 04:09:04
【问题描述】:
背景:
我有一段代码运行得很慢,因此建议我对代码进行分析以找出原因。
下图显示了在 Linux 上运行的 Visual Studio Code,我使用下面的几个 dotnet 命令来创建 trace.nettrace 和 trace.speedscope.json 文件:
然后我尝试将trace.speedscope.json 文件导入https://www.speedscope.app/ 并收到以下错误:
命令:
我使用以下页面作为创建跟踪 speedscope 文件的指南:
https://github.com/jlfwong/speedscope/wiki/Importing-from-.NET-Core
具体来说,我使用的命令是:
dotnet trace collect -p <process id> --format speedscope
示例:
可以在此处查看生成的 speedscope 跟踪文件示例:
问题:
如何创建适用于 https://www.speedscope.app/ 的 speedscope 跟踪文件?
【问题讨论】:
-
click here to load an example profile在speedscope.app 网站上是否适合您?您可以将一些示例跟踪文件 (trace.speedscope.json) 上传到互联网吗? -
@osgx,是的,示例配置文件工作正常。我在这里上传了一个示例跟踪文件:pastebin.com/4WW2tbiF
-
你的错误信息是
Importing as speedscope json file. Failed to load format Error: Tried to leave frame "*" while frame "*" was at the top at,一些相关问题:github.com/dotnet/diagnostics/issues/1206github.com/microsoft/perfview/issues/1178 -
@osgx,根据这些链接,记者似乎正在等待发布带有修复程序的新版本。似乎我必须等待新发布的版本才能开始分析我的应用程序。感谢您的帮助。
-
从 github.com/jlfwong/speedscope/releases/download/v1.5.3/… 下载的旧版 speedscope 确实可以让我打开您的跟踪 json 文件。 5 个线程是可见的,带有 4、5 或 7 秒的跟踪日志。什么都不懂。但是在网络控制台中,我有“speedscope v1.5.3 Importing as speedscope json file import: 207ms - timer ends” from speedscope.75eb7d8e.js + import.a03c2bef.js
标签: c# linux .net-core visual-studio-code profiling