Both standalone dotTrace and dotTrace in Rider can profile the native part of Mono/Unity applications on Windows. Start a session with the ‘Enable native profiling’ option selected, and you’ll see both native and managed call stacks in the performance snapshots.
The dotTrace command-line profiler for Linux (any distribution with GLIBC_2.23 or later) lets you profile applications on ARM64 systems.
Now, you can navigate through Call Tree using the Next Important Call action. Press Ctrl+Shift+Right and dotTrace will navigate you to a node that is most relevant for further analysis (for example, a node with high own execution time).
The feature is available in dotTrace Standalone (both Performance Viewer and Timeline Viewer), in Visual Studio, and JetBrains Rider.
dotTrace 2019.3 supports sampling profiling of .NET Core projects on Linux and macOS. Note that only projects targeting .NET Core 3.1 are fully supported. Because of some .NET Core limitations, profiling of projects targeting .NET Core 3.0 or earlier may have some issues: in rare cases, the profiled application may hang or crash.
The command-line profiler finally comes to macOS and Linux.
dotTrace.sh has the same functionality as its Windows counterpart and is
distributed as a .tar.gz archive and as a NuGet package.
Find slowest methods in just a glance with the call tree flame graph. Note that the graph is available only in the Timeline Viewer.
dotTrace in Rider gets the full set of Timeline filters making it easier to analyze Timeline profiling snapshots in place.
If you use JetBrains Rider, you can run dotTrace on macOS and Linux to profile Mono and Unity applications.
Free trial for 10 days of actual use