Skip to content

Releases: microsoft/perfview

PerfView and TraceEvent 3.1.0

31 Mar 21:44
6bf5398
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
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.