Skip to content

Releases: microsoft/perfview

PerfView and TraceEvent 3.1.1

05 Apr 01:54
ed382b4

Choose a tag to compare

Roll-up through 2023/04/04.

  • Fixes a bug that resulted in significant degradation of performance in some apps due to very verbose events being enabled.
  • Only refresh stack views when the filter/grouping criteria has changed.

PerfView and TraceEvent 3.1.0

31 Mar 21:44
6bf5398

Choose a tag to compare

Roll-up through 2023/03/31.

  • Standardize all TraceEvent libraries to compile against netstandard2.0 only.
  • Switch FastSerialization and TraceEvent projects to produce portable PDBs instead of Windows PDBs.
  • Refactor PerfView dependencies to make them more explicit.
  • Enable certificate revocation when contacting https endpoints.
  • Convert ForceGC functionality to use built-in ETW capabilities and remove ICorDebug code from HeapDump.
  • Cache the DIA class factory used for native symbol lookup.
  • Dispose cached PDBs properly so that they aren’t locked on disk after use.
  • Fix parsing of CTF metadata documents with out-of-order elements in LTTng traces.
  • Several internal and surface area changes to Automated Trace Analysis capabilities.
  • Enable opening of portable PDBs when running TraceEvent on Linux.
  • Parse and consume new GC events, including a new GCSettings event.
  • Fix native image PDB symbol resolution for diagsession files.
  • Enable rundown event collection for GC and Tiered Compilation settings.
  • Enable PerfView to capture the FileVersion fields for all .NET runtime DLLs consumed during trace capture and inject them into the trace.

PerfView and TraceEvent 3.0.8

28 Feb 19:37
3539ebc

Choose a tag to compare

Roll-up through 2023/02/24.

  • Add a new collection option /UserCritContention and analysis view for analyzing work done while the UserCrit is held. This is interesting for UI apps that experience visual perturbances.
  • Improvements to how TraceEvent and PerfView handle clean-up of ETW session handles.
  • Movement of utility classes to the Microsoft.Diagnostics.Utilities namespace to avoid namespace collisions.
  • Switch PerfView and TraceEvent to only use documented Win32 APIs. Remove OSExtensions.dll from PerfView and TraceEvent packaging.
  • Remove InternalOnly checks in PerfView which limited features to users on Microsoft’s corporate network.

PerfView and TraceEvent 3.0.7

18 Jan 22:26
d4cb09e

Choose a tag to compare

Roll-up through 2023/01/17.

  • Fix EventCounter graphing in PerfView.
  • Fix bug in processing of CTF traces from LTTng (Linux).
  • Fix handling of Windows Handle events.
  • Fix the process ID associated with VirtualMem events. This caused some stack views in some traces to contain multiple nodes for the same thread.
  • Add a finalizer for TraceEventSource.
  • Update to ClrMD 2.3.405304 for additional support of GC regions in heap snapshots.
  • Add support for parsing and stack-ifying strace output (Linux).
  • Add support for capturing LBR events.

PerfView and TraceEvent 3.0.6

16 Nov 23:10
f9eced7

Choose a tag to compare

Roll-up through 22/09/26.

  • Add a dark mode theme to PerfView
  • Remove the 10M node limit for ETW/dotnet-trace heap snapshots, allowing for larger heap snapshots without sampling.
  • Expose TraceGC.GenerationCount to allow for discovery of additional generations (e.g. .NET Core).
  • Update to ClrMD 2.2.343001 which contains fixes for capturing heap dumps of .NET Core processes that use regions.

PerfView and TraceEvent 3.0.5

26 Sep 19:12
cf19602

Choose a tag to compare

Roll-up through 22/09/26.

  • Add goto source support for portable PDBs with embedded source.
  • Fix heap snapshot creation failures due to missing dependency.
  • Add new user command to save CPU stacks as a CSV.
  • Populate captured ETW providers in TraceEventSession instances created via session attach to fix CaptureStateOnSetFileName.
  • Fix minimal rundown in PerfView to properly catch Runtime/Start events from .NET Core processes.

PerfView and TraceEvent 3.0.4

26 Aug 19:50
8dfbf3b

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

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

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

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.