Collect detailed timing data for a stand-alone application by using the profiler command line

This article describes the procedures and options for collecting detailed performance data for a client (stand-alone) component such as a DLL by using the instrumentation method from the command line. Use the instrumentation method to collect detailed timing information. Instrumentation data is useful for analyzing I/O issues and for fine-grained analysis of application scenarios.

Note

For .NET Core and .NET 5+, see Measure application performance from the command line for command line instrumentation scenarios. VSInstr is not supported for .NET Core and .NET 5+ binaries. Starting in Visual Studio 2022 version 17.6, we recommend using VSDiagnostics.exe for .NET Framework scenarios as well, since it provides dynamic instrumentation.

Using VSInstr, you can instrument DLLs for which you would like timing information and then use VSPerfCmd to capture the trace. This will generate a .vsp file that can then be loaded and analyzed in Visual Studio.

Common tasks

Task Related content
Profile a .NET Framework application by using instrumentation - Instrument a .NET component and collect detailed timing data
Profile a C/C++ application by using instrumentation - Instrument a native component and collect detailed timing data