Repolode
microsoft

microsoft/perfview

A free Windows tool for isolating CPU and memory performance problems, with special support for investigating .NET runtime code.

Stars
4,779
Forks
781
Open issues
90
Last commit
yesterday

What is it?

PerfView is a free performance-analysis tool for isolating CPU and memory-related performance issues. It runs on Windows and includes some support for analyzing data collected on Linux machines. It covers a wide range of scenarios and has dedicated features for investigating code running on the .NET runtime.

PerfView is built on the Microsoft.Diagnostics.Tracing.TraceEvent library, which collects and parses Event Tracing for Windows (ETW) and EventPipe (.NET Core trace) data. Developers who want to process the same collected information programmatically can use TraceEvent directly.

The project is written in C#. Building it requires Visual Studio 2026 with the .NET desktop and C++ workloads, and the resulting PerfView.exe is a single file that can be copied and deployed directly.

Key features

  • 01Collects and analyzes CPU and memory performance data on Windows.
  • 02Provides special analysis features for code running on the .NET runtime.
  • 03Includes a built-in extension mechanism with sample extensions.
  • 04Offers the TraceEvent library for programmatic access to ETW and EventPipe data.
  • 05Ships as a single executable that can be deployed by copying one file.

Use cases

  • Diagnosing high CPU usage or slow code in a .NET application on Windows.
  • Investigating memory growth and garbage collection behavior in .NET services.
  • Analyzing performance traces collected on Linux machines.
  • Building custom tooling that parses ETW or EventPipe trace data with TraceEvent.

Quick start

  1. 1

    Download PerfView from the download page (no package-manager install documented)

  2. 2

    Build from source: open PerfView.sln in Visual Studio 2026 and build, or run build.cmd from the repository root

    build.cmd

Things to know

  • Windows tool; it has only limited support for analyzing data collected on Linux.
  • Requires Windows 10 or Windows Server 2016 or later, and .NET Framework 4.7.2 or later.
  • No native ARM64 build of PerfView is available.
  • Building from source requires Visual Studio 2026 with specific C++ and Windows SDK components.

Topics

FAQ

What is perfview?
A free Windows tool for isolating CPU and memory performance problems, with special support for investigating .NET runtime code. PerfView is a free performance-analysis tool for isolating CPU and memory-related performance issues. It runs on Windows and includes some support for analyzing data collected on Linux machines. It covers a wide range of scenarios and has dedicated features for investigating code running on the .NET runtime.
Is perfview free to use? What license does it have?
perfview is open source under the MIT license. Check the license terms before using it in commercial products.
Is perfview still maintained?
Actively maintained. The last commit to perfview was on Nov 6, 2026.
What can I use perfview for?
Diagnosing high CPU usage or slow code in a .NET application on Windows. Investigating memory growth and garbage collection behavior in .NET services. Analyzing performance traces collected on Linux machines. Building custom tooling that parses ETW or EventPipe trace data with TraceEvent.
How do I install perfview?
Download PerfView from the download page (no package-manager install documented) Build from source: open PerfView.sln in Visual Studio 2026 and build, or run build.cmd from the repository root: build.cmd
Where can I get perfview?
The source code and installation instructions are on GitHub: https://github.com/microsoft/perfview

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects