Releases: microsoft/perfview
PerfView and TraceEvent 3.0.6
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
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
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
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
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
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
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
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
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
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.