PerfView is now Open Source On GitHub

I am happy to announce, that the PerfView source code is now open source as a GitHub repository.    It is available at

https://github.com/Microsoft/perfview

The readme associated with the GitHub  repository has getting started information (how to fetch the repository, how to build, test and deploy the code.     We use Visual Studio 2015.   You can download a free copy of  Visual Studio 2015 Community Edition that has everything you need to clone, build test and deploy PerfView.   Thus you can get going with PerfView RIGHT NOW.   The instructions on the PerfView repository tell you how to get started even if you know nothing about GIT (although knowing something about GIT and Visual Studio certainly helps).

The readme also talks about how you can log issues as well as contribute to PerfView.   You should definitely read the documentation about contributing if you intend to do that (probably best however to just start with learning to build / run / debug and get familiar with the code.

We could definitely use help in both documentation and testing, so this is a great place to contribute, especially to start with.

One of the nice things about the PerfView repository is that it has the latest version of the code.    Thus if you need a bug-fix or some recently added feature, you can get this by simply building the repository.

It turns out that one of the new features of PerfView (not present in the 1.9 version on the download center) is the ability to generate good symbolic information for .NET Core runtime native code.     Thus if you are trying to do performance investigation of a .NET Core scenario you will find that if you use version 1.9 of PerfView that the names of most method in the framework are not resolved.   I will be publishing new version to the download center soon, but in the mean time you can build your own PerfView that fixes this and gives a good experience investigating .NET Core Runtime framework issues.

The PerfView repository also contains the complete source code for the Microsoft.Diagnostics.Tracing.TraceEvent library.  Currently the PerfView repository does not have all the logic for actually generating the nuget package, but that will soon be added.   In the mean time you can certainly build the DLL if you need that for your own ETW parsing needs.

Enjoy!

Vance