|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Performance Session Overview
A Performance Session allows the user to configure settings that determine how the application is profiled. It also stores reports that are generated for a session. A Performance Session is created by running the Performance Wizard or by manually creating a session. The Performance Session is visually represented in the Performance Explorer.
To view Performance Session properties, select the session in Performance Explorer, right-click it and then choose Properties.
The performance session has the following properties:
These settings allow you to choose between sampling and instrumentation, add .NET object collection and lifetime data, and specify the default report location and name.
These settings allow you to choose from a list of binaries and specify the launch order of binaries.
These settings allow you to choose the sample event and sampling interval. A sample event is used to collect performance data at the specified interval. For example, if the sample event is clock cycles and the sampling interval is set to 10,000,000 then performance data is collected after every 10 million clock cycles. The following four types of sample events are available:
Clock Cycles - for CPU bound problems
Page Faults - for memory related problems
System Calls - for I/O related problems
Performance Counters - for low-level performance problems
These settings allow you to specify whether you want to relocate the instrumented binary to another location. For example, if you are profiling My.DLL and chose not to relocate the instrumented binary, then, during profiling, a backup copy of My.DLL named My.Orig.DLL is created. Subsequently, My.DLL is modified by inserting probes to collect data. If you choose to relocate the instrumented binary, then the original binary is not renamed and the instrumented copy is placed at the specified location for use during instrumentation.
These settings allow you to specify any Pre-instrument and Post-instrument events that must occur as part of the instrumentation process.
These settings allow you to collect data about on-chip performance counters. For more information about on-chip performance counters, see the specific processor documentation.
During profiling, you can collect data from event trace providers. You can view the data by using the VSPerfReport.exe command line tool. For more information about Event Tracing for Windows (ETW), see About Event Tracing.
These settings allow you to list specific functions that you want to instrument. For example, to instrument a function called MyFunction, list it as -include:MyFunction in the Additional instrumentation options text box. Use the wildcard character '*' to specify multiple functions. For example, specify -exclude:MyNamespace::* to instrument all functions except those in the namespace MyNamespace.