在 Mac 上对 .net core 应用程序进行性能分析?

12

我可以像这样启动一个应用程序:

dotnet myapp.dll

但是我该如何对其进行时间或内存分析呢?在Visual Studio for Mac社区版中,运行菜单下没有"Profile"选项(它需要企业版)。

本质上,我正在寻找与.NET Core 2.0中mono --profile=log等效的方法。

1个回答

6

Profiler API已经在.NET Core运行时中实现,并可在所有主要平台上使用:Windows,Linux和macOS。但是,它只在Windows和Linux上进行了彻底的测试。开发人员建议在macOS上进行性能分析时要谨慎,并设置一些验证测试。

目前,Microsoft仅为macOS提供Xamarin分析器。我会评估Visual Studio Enterprise for macOS - 它可以免费试用30天。

另一种方法是使用Microsoft Clr Samples repo中的.NET Core Profiling API示例的现有基本实现 - ProfilingAPI - ReJITEnterLeaveHooks,如果需要,添加一些缺少的功能。有关详细信息,请参见CoreCLR GitHub repo问题#14786如何构建自己的.Net Core Profiler

否则,我不知道任何其他经过测试和生产就绪的macOS .NET Core分析器。


谢谢,我最终采取了这种方法编写自定义分析器,如此处所述:http://evolvedmicrobe.com/blogs/?p=398 - evolvedmicrobe
6
目前看来,macOS 工具的情况似乎很糟糕。 - Jacek Blaszczynski
听起来dotTrace目前正在某种形式的测试中,以便能够在Mac上进行分析(可能需要其他工具的配合)。 - Joe Phillips

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接