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.45

Published by brianrob about 5 years ago

Roll-up until 8/7/2019.

perfview - PerfView 2.0.44

Published by brianrob over 5 years ago

Roll-up until 7/1/2019.

perfview - TraceEvent 2.0.44

Published by brianrob over 5 years ago

Roll-up until 7/1/2019.

perfview - TraceEvent 2.0.43

Published by brianrob over 5 years ago

Roll-up until 6/18/2019.

Includes support for the new EventPipe nettrace format.

perfview - PerfView 2.0.43 Public Release

Published by brianrob over 5 years ago

Roll-up until 6/18/2019.

perfview - PerfView 2.0.42 Public Release

Published by brianrob over 5 years ago

Rollup until 5/6/2019.

perfview - TraceEvent 2.0.42 Release

Published by brianrob over 5 years ago

Rollup until 5/6/2019.

perfview - TraceEvent 2.0.41 Release

Published by brianrob over 5 years ago

Rollup until 4/24/2019.

Includes preview support for streaming from EventPipe.

perfview - TraceEvent 2.0.40 Release

Published by vancem over 5 years ago

Rollup until 4/1/2019

perfview - PerfView 2.0.39 Public Release

Published by vancem over 5 years ago

This is mostly a bug fix release from the 2.0.26. However there are a few small new features:

  1. Update to display the type of the alloction for C++ code (in the Net OS Heap Alloc View).
    It is now the case that if you have PDBS for the call site of a C++ 'new' expression and that compiler
    supports it (I believe anything after VS2017 CPP compiler will work), then PerfView will create a 'Type XXX'
    pseduo-node for allocation sites. Having this type information can definately be useful.
  2. Added the /focusProcess=ProcessIDOrName qualifier (e.g. focusProcess=PerfView.exe) This allows you
    to only turn on non-Kernel events
    for a particular process, and thus cut the overhead / size of the collection when there are many
    active processes on the system.. Note that it does not have an effect on kernel events (which are
    often the most common, but not always), so it may not help as much as you would like, but DEFINITELY
    helps during rundown (if you have many managed processes, they all do rundown which can be impactful).
    So it always helps when there are many managed processes (because of rundown) but can help quite a lot
    if many of those processes allocate a lot, or use the threadpool (which both can create many events).
  3. Added support for the /SessionName=XXXX parameter which renames both the user and kernel
    session names that PerfView uses (which allow you to have two PerfView's running or run
    with other tools that use the kernel provider)
  4. Added the /DotNetCallsSampled command line option that does call instrumentation
    but samples every 997 calls (to keep overhead low)
  5. Added the /DisableInlining command line option that tells the runtime not to
    inline (used with the /DotNetCalls or /DotNetCallsSampled options)
  6. Added the user command 'NetperfToSpeedScope netPerfFileName' which will convert a .NET *.netperf file
    (created by the .NET Core runtime), into a *.speedscope file which is the format that the
    https://www.speedscope.app/ tool can use (this is a flamegraph viewer).

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.39 Release

Published by vancem over 5 years ago

Rollup until 3/20/19

perfview - TraceEvent 2.0.38 Release

Published by vancem over 5 years ago

Rollup until 2/20/19.

perfview - TraceEvent 2.0.34 Release

Published by vancem almost 6 years ago

Rollup until 1/18/.19. This includes support for Microsoft.Diagnostics.Tracing.Stacks.Formats.SpeedScopeWriter. See #842 for more.

perfview - TraceEvent 2.0.33 Release

Published by vancem almost 6 years ago

Rollup until 1/2/19. This includes support for generic Microsoft-Diagnostics-ActivityTracking. See https://github.com/Microsoft/perfview/pull/828.

perfview - TraceEvent 2.0.32 Release

Published by vancem almost 6 years ago

Rollup until 12/13/18. This includes a fix for CoreFX bug associated with decoding nullable types in EventSources. https://github.com/dotnet/corefx/issues/33013 Publishing this so that bug can be fixed.

perfview - TraceEvent 2.0.31 Release

Published by vancem almost 6 years ago

Rollup until 12/12/2018. Bug that provoked the release was https://github.com/Microsoft/perfview/issues/755, where Building with TraceEvent on a Desktop framework would sometimes give a missing dependency error for the Microsoft.Win32.Registry.dll.

perfview - TraceEvent 2.0.30 Release

Published by vancem almost 6 years ago

Fixed a moderately serious bug introduced int 2.0.29, that causes confusion about the thread for an event. The ramifications might be widespread but subtle. We noticed it in the 'Thread Time with Tasks' views. We recommend upgrading from 2.0.29 ASAP.

perfview - PerfView 2.0.26 Public Release

Published by vancem about 6 years ago

This is a bug fix release from the 2.0.23. If you use the Thread Time View with Start-Stop Tasks view you will want to pick up this new release as there was a regression in May that caused AWAIT time to not be displayed. Otherwise there are only small fixes.

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.26 Public Release

Published by vancem about 6 years ago

This is a minor bug fix from the previous release. The Start-Stop activity logic had disabled showing AWAIT time. If you use that view, then this bug fix is important, otherwise it is not.

perfview - TraceEvent 2.0.25 Public Release

Published by vancem about 6 years ago

  • rollup of bug fixes. See github for details.