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

Command-Line Profiling of ASP.NET Web Applications

Command-Line Profiling of Services