Skip to content

Releases: microsoft/perfview

PerfView and TraceEvent 3.0.4

26 Aug 19:50
8dfbf3b
Compare
Choose a tag to compare

Roll-up through 2022/08/25.

  • Add authentication support to PerfView for AzureDevOps, GitHub, and Git Credential Manager when downloading symbols and source. Big thanks to Paul Harrington for this!
  • Update to build all projects with Visual Studio 2022.
  • Update to validation of PDB files during symbol resolution when traces are not merged.
  • Unseal AnalyzerIssue to allow for custom fields.
  • Miscellaneous build and CI fixes.

PerfView and TraceEvent 3.0.3

05 Aug 20:28
009d4d6
Compare
Choose a tag to compare

Roll-up through 2022/08/05.

  • Add a DelegatingHandler optional parameter to SymbolReader constructor to allow for authentication when downloading symbols and source code.
  • Add new RuntimeSku value for Mono.
  • Fix a bug that can cause an exception to be thrown during rundown.
  • Check for alternate line endings when validating source code checksums.
  • Fix failures when running SaveCPUStacks user command.
  • Fix bugs related to the pinned object heap in GCHeapDumer.
  • Add the number of heaps to the GCStats report for each process.
  • Add new values for TieredPGO and ReadyToRun to TieredCompilationSettings.

PerfView and TraceEvent 3.0.2

01 Jul 17:47
20ddf58
Compare
Choose a tag to compare

Roll-up through 2022/07/01.

  • Allow for complex filtering of events in the Events view. For example, only show CSwitch events for a particular thread: [(NewProcessID == 1024) || (OldProcessID == 1024)]. Documentation for how to use this feature is available in the PerfView Users Guide.
  • Update to ClrMD 2.1. This provides lots of functional and performance fixes for GCHeap dumps.
  • Expose a “Do not shorten frames copied from stack windows” option in the options menu.
  • Properly sort numbers and dates in the Events view when using column sorting.
  • Fix NGEN PDB generation for arm64 .NET Framework workloads.
  • Fix discovery of NGEN images that need PDBs generated during trace zip.
  • Update video links to point to newly archived tutorial videos.

PerfView and TraceEvent 3.0.1

31 May 19:08
2526f1f
Compare
Choose a tag to compare

Roll-up through 2022/05/30.

  • New “Module Version Information” report in the “Advanced” group that displays version information for all loaded modules by process.
  • Properly quote JSON keys for struct values from TraceLogging events.
  • Propagate base TraceEventSource properties from TraceLog to TraceLogEventSource (e.g. pointer size, numprocs, session start/end times)
  • Start versioning FastSerialization to address breaking API changes when multiple versions of TraceEvent are present.

PerfView and TraceEvent 3.0.0

20 Apr 02:38
afba4ef
Compare
Choose a tag to compare

Announcing the release of PerfView and TraceEvent 3.0!

This release contains many bug fixes, improvements, and changes to default behavior based on feedback. Some of the highlights are:

  • 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. PerfView64.exe has been removed from the build.
  • 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.
  • Add a new Options menu in the UI for user-specific configuration options.

With this release, there will be no future releases of PerfView 2.0.x. Users should expect that future improvements and fixes will be part of 3.x releases going forward.

TraceEvent 2.0.77

11 Apr 17:45
f570067
Compare
Choose a tag to compare

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 2.0.77

11 Apr 17:45
f570067
Compare
Choose a tag to compare

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 and TraceEvent 3.0-preview2

23 Mar 23:47
Compare
Choose a tag to compare
Pre-release

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 and TraceEvent 3.0-preview1

02 Mar 20:02
Compare
Choose a tag to compare
Pre-release

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.

TraceEvent 2.0.76

02 Mar 01:06
23f5537
Compare
Choose a tag to compare

Roll-up through 2022/03/01.

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