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

Published by brianrob over 2 years ago

Roll-up through 2022/04/11.

  • GUI warning pop-up if you attempt to close PerfView during rundown, merge, or zip.
  • Fix GC hole in nettrace file processing.
  • Fix unintentional blocking when streaming from a .NET Core EventPipe session.
  • Remove superfluous ETW flush command when rotating an ETW session file name via TraceEventSession.SetFileName.
  • Ignore the manifest definition for Microsoft-Windows-DotNETRuntime that is emitted into the event stream by .NET 6+ processes, which results in duplicate dispatch of these events.
perfview - TraceEvent 2.0.77

Published by brianrob over 2 years ago

Roll-up through 2022/04/11.

  • GUI warning pop-up if you attempt to close PerfView during rundown, merge, or zip.
  • Fix GC hole in nettrace file processing.
  • Fix unintentional blocking when streaming from a .NET Core EventPipe session.
  • Remove superfluous ETW flush command when rotating an ETW session file name via TraceEventSession.SetFileName.
  • Ignore the manifest definition for Microsoft-Windows-DotNETRuntime that is emitted into the event stream by .NET 6+ processes, which results in duplicate dispatch of these events.
perfview - PerfView and TraceEvent 3.0-preview2

Published by brianrob over 2 years ago

Action Requested: Please try this release and provide your feedback as issues in this repo, so that we can address any bugs and take your feedback into account on changes to the defaults. Please be sure start your issue title with "[PerfView 3.0]".

Fixes and Improvements:

  • Fix missing changes to turn on some of the 64-bit file format improvements.
  • Remove missed truncation code path for ETLX file generation in PerfView.
  • Update progress text in PerfView when converting an ETL to an ETLX file.
  • Update and simplify PerfView view group names.
perfview - PerfView and TraceEvent 3.0-preview1

Published by brianrob over 2 years ago

Announcing the first preview release of PerfView and TraceEvent 3.0!

Action Requested: Please try this release and provide your feedback as issues in this repo, so that we can address any bugs and take your feedback into account on changes to the defaults. Please be sure start your issue title with "[PerfView 3.0]".

The goal of this and future previews is to allow for testing and feedback prior to an official stable release. There is not a set number of preview releases - this will be determined by feedback and bugs filed.

The main reason for incrementing the major version is that there are some changes that will break backwards compatibility:

  • By default, all ETLX files are 64-bit and no longer have a limit of 20 million events.
  • PerfView.exe is now 64-bit by default and PerfView64.exe has been removed from the build.

In addition, there are changes to the defaults for some of the views in PerfView. For example:

  • The default grouping for all views is now [group module entries] instead of [Just My App] to help eliminate confusion when interpreting stacks.
  • The default fold percentage of 1% has been removed to avoid situations where CPU time is so heavily spread that most CPU samples show up in the Process node when looking at stacks.
  • Thread time views from nettrace files will now automatically fold UNMANAGED_CODE_TIME and CPU by default to help eliminate confusion when these values don’t properly represent the workload.

And of course, there are many other small fixes and improvements. Also notice that going forward releases of PerfView and TraceEvent will be merged together, rather than being posted as separate releases.

If you're interested in contributing to Perfview 3.0, please target your PR to the feature/perfview-3.0 branch.

perfview - PerfView 2.0.76

Published by brianrob over 2 years ago

Roll-up through 2022/03/01.

  • Fix an issue that prevented symbol resolution in 64-bit processes.
perfview - TraceEvent 2.0.76

Published by brianrob over 2 years ago

Roll-up through 2022/03/01.

  • Fix an issue that prevented symbol resolution in 64-bit processes.
perfview - PerfView 2.0.75

Published by brianrob over 2 years ago

Roll-up through 2022/02/28.

  • Add native arm64 support for TraceEvent.
  • Fixes /MinSecForTrigger for 64-bit processes to honor a non-default value.
  • Misc UI fixes.
  • Symbols for official PerfView and TraceEvent builds are now archived on the official Microsoft Symbol Server: https://msdl.microsoft.com/download/symbols.
perfview - TraceEvent 2.0.75

Published by brianrob over 2 years ago

Roll-up through 2022/02/28.

  • Add native arm64 support for TraceEvent.
  • Fixes /MinSecForTrigger for 64-bit processes to honor a non-default value.
  • Misc UI fixes.
  • Symbols for official PerfView and TraceEvent builds are now archived on the official Microsoft Symbol Server: https://msdl.microsoft.com/download/symbols.
perfview - PerfView 2.0.74

Published by brianrob almost 3 years ago

Roll-up through 2021/11/09.

  • Fixes to path handling for files inside of Windows containers.
  • Expose additional source line information.
  • Provide a mechanism to override SupportFilesDir for SAW deployment of PerfView.
perfview - TraceEvent 2.0.74

Published by brianrob almost 3 years ago

Roll-up through 2021/11/09.

  • Fixes to path handling for files inside of Windows containers.
  • Expose additional source line information.
  • Provide a mechanism to override SupportFilesDir for SAW deployment of PerfView.
perfview - PerfView 2.0.73

Published by brianrob about 3 years ago

Roll-up through 2021/09/27.

  • Opt-in 64-bit large GCDump support without backwards compatibility support. This includes some breaking changes in the MemoryGraph project to support structures that cannot be expressed within a 32-bit values.
  • Opt-in 64-bit ETLX support without backwards compatibility support.

Notes:

  • Backwards compatibility will be forthcoming coming in a future release. For now, if you choose to opt-in to 64-bit support, you will not be able to open the 32-bit formats.
  • Opt-in is only available for apps that consume TraceEvent directly. There is currently no opt-in mechanism in PerfView. This will be forthcoming in a future release.
perfview - TraceEvent 2.0.73

Published by brianrob about 3 years ago

Roll-up through 2021/09/27.

  • Opt-in 64-bit large GCDump support without backwards compatibility support. This includes some breaking changes in the MemoryGraph project to support structures that cannot be expressed within a 32-bit values.
  • Opt-in 64-bit ETLX support without backwards compatibility support.

Notes:

  • Backwards compatibility will be forthcoming coming in a future release. For now, if you choose to opt-in to 64-bit support, you will not be able to open the 32-bit formats.
  • Opt-in is only available for apps that consume TraceEvent directly. There is currently no opt-in mechanism in PerfView. This will be forthcoming in a future release.
perfview - PerfView 2.0.72

Published by brianrob about 3 years ago

Roll-up through 2021/09/16.

  • Fix crashes from traces containing .NET Alloc data where the object size is reported as 0.
  • Fix an issue where non-Windows traces where TraceEvent attempts to detect if a stack frame comes from the kernel.
  • Fix SYSTEMTIME argument parsing.
  • Allow users to specify the process ID when creating ActivityPath strings.
perfview - TraceEvent 2.0.72

Published by brianrob about 3 years ago

Roll-up through 2021/09/16.

  • Fix crashes from traces containing .NET Alloc data where the object size is reported as 0.
  • Fix an issue where non-Windows traces where TraceEvent attempts to detect if a stack frame comes from the kernel.
  • Fix SYSTEMTIME argument parsing.
  • Allow users to specify the process ID when creating ActivityPath strings.
perfview - PerfView 2.0.71

Published by brianrob about 3 years ago

Roll-up through 2021/07/26.

  • Fix for unresolvable types from mscorlib in allocation traces that use the PerfView CLR profiler implementation.
  • Enable stack collection for file queries and directory enumerations.
  • Documentation updates.
  • Support for .NET 6 GCMarkWithType event changes; if you intend to look at the GCStats view, or use the TraceEvent library to interpret GC events on a trace collected with .NET 6.0 runtime, you will need to upgrade to at least this version of TraceEvent. Previous versions will throw an exception during these operations.
  • Fix Directory Enumeration stacks.
perfview - TraceEvent 2.0.71

Published by brianrob about 3 years ago

Roll-up through 2021/07/26.

  • Fix for unresolvable types from mscorlib in allocation traces that use the PerfView CLR profiler implementation.
  • Enable stack collection for file queries and directory enumerations.
  • Documentation updates.
  • Support for .NET 6 GCMarkWithType event changes; if you intend to look at the GCStats view, or use the TraceEvent library to interpret GC events on a trace collected with .NET 6.0 runtime, you will need to upgrade to at least this version of TraceEvent. Previous versions will throw an exception during these operations.
  • Fix Directory Enumeration stacks.
perfview - PerfView 2.0.70

Published by brianrob over 3 years ago

Roll-up through 2021/07/06.

  • GC generation aware views are now externally visible.
  • New advanced views for file queries and directory enumeration.
  • CLR rundown now occurs synchronously after sessions are stopped to avoid cases where rundown work is captured as part of the actual trace.
perfview - TraceEvent 2.0.70

Published by brianrob over 3 years ago

Roll-up through 2021/07/06.

  • GC generation aware views are now externally visible.
  • New advanced views for file queries and directory enumeration.
  • CLR rundown now occurs synchronously after sessions are stopped to avoid cases where rundown work is captured as part of the actual trace.
perfview - PerfView 2.0.69

Published by brianrob over 3 years ago

Roll-up through 2021/05/24.

  • Default to TLS 1.2 for symbol and source server downloads in PerfView (TraceEvent unaffected).
  • Update PerfView’s StateMachineFramework to expose the event registration hook for PerfView extensions.
  • Update SpeedScope writer to fix startValue and endValue writing.
perfview - TraceEvent 2.0.69

Published by brianrob over 3 years ago

Roll-up through 2021/05/24.

  • Default to TLS 1.2 for symbol and source server downloads in PerfView (TraceEvent unaffected).
  • Update PerfView’s StateMachineFramework to expose the event registration hook for PerfView extensions.
  • Update SpeedScope writer to fix startValue and endValue writing.