perfview

PerfView is a CPU and memory performance-analysis tool

MIT License

Stars
4K
Committers
170

Bot releases are hidden (Show)

perfview - PerfView 2.0.23 Public Release

Published by vancem about 6 years ago

This is a small bug-fix release of PerfView since the 2.0.15 release. Here are some of the fixes. Also added a /DotNetCallsSampled option that samples every ~1000 calls, which is infrequent enough that it does not affect perf too badly (more like 10% rather than 100s of %).

  • Added the /DotNetCallsSampled command line option that does call instrumentation but samples every 997 calls (to keep overhead low)
  • Added the /DisableInlining command line option that tells the runtime not to inline (used with the /DotNetCalls or /DotNetCallsSampled options)
  • Minor bug fixes so that things work inside windows docker containers. This works on windowsServerCore Version RS3 or beyond. PerfViewCollect can be used on windowsNano OS
    fixed build to support SourceLink for the PerfView/TraceEvent source itself.
  • Added docs for using PerfView in windowservercore and nanoserver containers.
    Version 2.0.17 5/25/18
  • Added support for the ThreadName property that the OS supports. The Thread/SetName event is now parsed well, and if the name is present it shows up in the Stack views.
    Version 2.0.16 5/22/18
  • Fix bug when parsing 'mixed' EventSources that use both Manifest events and self-describing events in the same EventSource, leading to the self-describing events being parsed as (garbled) manifest events. This can happen when using EventCounters pretty easily since EventCounters use the self-describing format.

To get the tool simply download the PerfView.exe executable and use it. I include the PDB files in case you need to debug something, but that is a rare case and you don't need to do that normally.

The PerfView64.exe is optional. It is a small wrapper that launches PerfView as a 64 bit application. If you are dealing with very large traces that cause 'out of memory' errors, this can be used to avoid the problem. Note that you need PerfView.exe to be present next to PerfView64.exe for it to work.

Like all versions of PerfView you can see the specific release notes from the past year by accessing the 'Help -> Release Notes' menu entry.

You can also see detailed informational about what changes went into this release by viewing the Github history.

perfview - TraceEvent 2.0.23 Public Release

Published by vancem about 6 years ago

  • rollup of bug fixes. See github for details.
perfview - TraceEvent 2.0.22 Public Release

Published by vancem about 6 years ago

  • rollup of bug fixes. See github for details.
perfview - TraceEvent 2.0.19 Public Release

Published by vancem over 6 years ago

Instead of doing

    F(TraceEvent myEvent) {
        Console.WriteLine("MyField = {0}", myEvent.PayloadByName("MyField"));
    }

You can do

    F(TraceEvent myEvent) {
         dynamic dEvent = (dynamic) myEvent;
         Console.WriteLine("MyField = {0}", dEvent.MyField);
    }

It is not any faster, bit it is a bit more convenient.

perfview - PerfView 2.0.15 Public Release

Published by vancem over 6 years ago

This is a small bug-fix release of PerfView since the 2.0.12 release. The main interesting feature that was added was support for displaying .NET Core Tiered JIT compilation information (see https://github.com/Microsoft/perfview/pull/679).

To get the tool simply download the PerfView.exe executable and use it. I include the PDB files in case you need to debug something, but that is a rare case and you don't need to do that normally.

The PerfView64.exe is optional. It is a small wrapper that launches PerfView as a 64 bit application. If you are dealing with very large traces that cause 'out of memory' errors, this can be used to avoid the problem. Note that you need PerfView.exe to be present next to PerfView64.exe for it to work.

Like all versions of PerfView you can see the specific release notes from the past year by accessing the 'Help -> Release Notes' menu entry.

You can also see detailed informational about what changes went into this release by viewing the Github history.

perfview - PerfView 2.0.12 Public Release

Published by vancem over 6 years ago

This is a small bug-fix release of PerfView since the 2.0.7 release. No interesting features were added, but small bug fixes were made.

To get the tool simply download the PerfView.exe executable and use it. I include the PDB files in case you need to debug something, but that is a rare case and you don't need to do that normally.

The PerfView64.exe is optional. It is a small wrapper that launches PerfView as a 64 bit application. If you are dealing with very large traces that cause 'out of memory' errors, this can be used to avoid the problem. Note that you need PerfView.exe to be present next to PerfView64.exe for it to work.

Like all versions of PerfView you can see the specific release notes from the past year by accessing the 'Help -> Release Notes' menu entry.

You can also see detailed informational about what changes went into this release by viewing the Github history.

perfview - TraceEvent 2.0.11 Public Release

Published by vancem over 6 years ago

  • Fixed a bug where native symbol resolution failed on .NET Core (because CustomMarshalers is not supported there).
perfview - TraceEvent 2.0.10 Public Release

Published by vancem over 6 years ago

  • Fixed errors trying to load Registry or System.Runtime dlls when running on .NET Desktop and collecting ETW data.
  • Added support for EventPipe Version 3.
perfview - PerfView 2.0.7 Public Release

Published by vancem over 6 years ago

This is a small bug-fix release of PerfView since the 2.0.2 release. No interesting features were added, but small bug fixes were made. Indeed this release is mostly about just working through the mechanics of a second Github release of PerfView.

To get the tool simply download the PerfView.exe executable and use it. I include the PDB files in case you need to debug something, but that is a rare case and you don't need to do that normally.

The PerfView64.exe is optional. It is a small wrapper that launches PerfView as a 64 bit application. If you are dealing with very large traces that cause 'out of memory' errors, this can be used to avoid the problem. Note that you need PerfView.exe to be present next to PerfView64.exe for it to work.

Like all versions of PerfView you can see the specific release notes from the past year by accessing the 'Help -> Release Notes' menu entry.

You can also see detailed informational about what changes went into this release by viewing the Github history.

perfview - TraceEvent 2.0.6 Public Release

Published by vancem over 6 years ago

Fixed runtime errors trying to load TraceRelogger.dll (which should have been TraceReloggerLib.dll).

perfview - TraceEvent 2.0.4 Public Release

Published by vancem over 6 years ago

Adds Support for Version 3 of the EventPipe file format to the library.

perfview - TraceEvent 2.0.3 Public Release

Published by vancem over 6 years ago

This is a minor update from the 2.0.2 version.

It contains fixes for problem loading DLLs at runtime (Issue #518 and related).
There were also other minor fixes. See the Github history for more.

perfview - PerfView 2.0.2 Public Release

Published by vancem almost 7 years ago

This is the first OFFICIAL public release of PerfView since July 2016 (a year and a half).
Version 2.0.2 has Goto Source working for .NET Core Framework code (SourceLink support).

This version of PerfView (unlike the prereleased versions) has been signed with the Microsoft private key.

The copy of PerfView in the Download Center is old and will eventually be removed. Currently there is documenation there that points you to this place.

To get the tool simply download the PerfView.exe executable and use it. I include the PDB files in case you need to debug something, but that is a rare case and you don't need to do that normally.

The PerfView64.exe is optional. It is a small wrapper that launches PerfView as a 64 bit application. If you are dealing with very large traces that cause 'out of memory' errors, this can be used to avoid the problem. Note that you need PerfView.exe to be present next to PerfView64.exe for it to work.

Like all versions of PerfView you can see the specific release notes from the past year by accessing the 'Help -> Release Notes' menu entry. Highlights of this release include

  • Support for .NET Core applications (including 'Goto Source' for .NET Core framework code
  • Support for Windows Containers (light weight virtual machines).
perfview - TraceEvent V2.0.2 Public Release

Published by vancem almost 7 years ago

This is the first release of the Microsoft.Diagnostics.Tracing.TraceEvent nuget package in almost 2 years!

Sorry about that but the transition to Git, The new way of signing, and just other priorities (like shipping .NET Native) caused delays. But now we are back and it is relatively easy

This nuget package is published at nuget.org at https://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.TraceEvent/ in the standard way.

However the symbol package (containing any symbol files as well as complete source), is attached below for archival purposes.

TODO: give a summary of the changes.

perfview - Release V1.9.65 9/29/17 Windows Container Support

Published by vancem about 7 years ago

This release was prompted by changed needed to support Windows Containers. If you want to use PerfView to collect or view data from these containers, should use this version. You also need to be running the RS3 or later version of windows 10 (these are called [Insider images](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/using-insider-container-images.

Like other release I provide both the normal 32 bit version of PerfView as well as the 64 bit wrapper if you run into out of memory issues with the 32 bit version. Note that PerfView64.exe needs PerfView.exe to run (it just launches it as a 64 bit process).

As with other beta releases, this EXE is not signed, but I have included hashs here to hand verify if desired. Running

certutil -hashfile PerfView.exe Sha256
Should produce

44f2f9329bacb0e75363f3650a2e797bdac1719d31c18d89923e0b7381c917df

And running

certutil -hashfile PerfView64.exe Sha256
Should produce

9c2d1980031e5f112c6d3f2f396439879319816f9352413cec74c3cc988b518b

If you need more security than that, you should build it yourself (although even there you are trusting that github has not been tampered with). If you send me e-mail at [email protected] I will send you hashs via e-mail if you like.