Using Profiling Methods to Collect Performance Data from the Command Line
Your choice of Visual Studio Profiling Tools command-line tools and options depends on factors such as the type of application that you are profiling, the profiling method that you want to use, and whether the target application is written in native or .NET Framework code.
This topic organizes the command-line procedural topics according to the profiling method that you choose.
Using the Sampling Method to Collect Performance Statistics
The Profiling Tools sampling method collects performance data at specified intervals in a profiling run. Sampling data can provide insights into CPU-bound performance issues, and it can be a good way to start exploring the performance of an application.
You can start the profiler and the application at the same time, or you can attach the profiler to a running instance of an application.
Task |
Target application type |
---|---|
Launch an application |
|
Attach to a running process |
Using the Instrumentation Method to Collect Detailed Timing Data
The Profiling Tools instrumentation method collects performance data from copies of application binaries that contain software probes to record performance information. Instrumentation data is collected at the start and end of each instrumented function and at every call to other functions from the instrumented function. The instrumentation method is useful for discovering performance issues with I/O issues such as disk usage.
You create the instrumented binary with the VInstr.exe tool. After you initialize the profiler, data is automatically collected from the instrumented binaries when you run the target application.
Target Application Type
Using .NET Memory Methods to Collect Memory Allocation and Object Lifetime Data
The Profiling Tools .NET memory method enables you to collect .NET Framework memory allocation data and information about the lifetime of objects in the .NET Framework.
You can start the target application by using the profiler; you can attach the profiler to a running instance of an application; and you can create instrumented versions of the application to collect detailed timing information together with the .NET Framework memory data.
Task |
Target application type |
---|---|
Launch an application |
|
Attach to a running process |
|
Instrument modules |
Using the Concurrency Method to Collect Resource Contention and Thread Activity Data
The Profiling Tools concurrency method enables you to collect resource contention and thread and process activity data from multithreaded applications.
You can start the application by using the profiler, or you can attach the profiler to a running instance of an application.
Task |
Target application type |
---|---|
Launch an application |
|
Attach to a running process |
See Also
Concepts
Command-Line Profiling of Stand-Alone Applications