verdie-g / dotnet-events-viewer

Analyze .NET events collected with dotnet-trace in the browser
https://verdie-g.github.io/dotnet-events-viewer/
MIT License
1 stars 0 forks source link
blazor dotnet eventpipe nettrace performance-tools perfview

.NET Events Viewer

This tool is a modern alternative to PerfView to analyze nettrace files collected from the .NET runtime's EventPipe or through the tool dotnet-trace. It has several benefits compared to PerfView:

FAQ

I'm getting a File is too large to fit in memory error when loading a nettrace

Unfortunately, WebAssembly currently only allows 32-bit addressing, so it means the decompressed file is limited to 4 GiB. Also, there is currently another issue, only 1 of the 4 GiB can be used https://github.com/dotnet/runtime/issues/101926.

The feature X from PerfView is not available with this tool

This project aims to cover the most common use-cases according to my experience, i.e. find hot allocations path, find large object allocations, find sync-over-async or other thread starving patterns... So it's possible that some PerfView features are not available. Don't hesitate to open an issue if you feel like it should exist in this project.

Why was a new nettrace parser written for this project?

PerfView's nettrace parser is actually a nettrace to etlx converter + an etlx parser. Also, its performance is not great and it doesn't support async input which is mandatory to run in the browser.