VSPerfReport command line tool is used to create reports using Visual Studio Team System Developer Edition Profiling Tools profiling data files. The default report format is a .csv file.

VSPerfReport uses the following syntax:

VSPerfReport [/U] vspfilename [/options]

Note that filename must be a valid .vsp or .vsps file.

The VSPerfReport command line tool is also used to compare .vsp or .vsps files. To generate a difference ("diff") report, use the following syntax:

VSPerfReport [/U] /diff vspfilename1 vspfilename2 [/options]

vspfilename1 and vspfilename2 must be valid .vsp or .vsps files.

Symbol Files

To display symbol information such as function names and line numbers, VSPerfReport requires access to the symbol (.PDB) files of the profiled components and to Windows symbol files. For more information, see How to: Specify Symbol File Locations from the Command Line.

General Report Options

The following table describes the general report formatting options and the options that select the data to be reported.




Report output and redirected console output are written as Unicode. Must be the first option specified.


Creates one or more types of reports.

All - all report types are generated.

CallerCallee - report contains parent/child relationships between functions.

Function - report contains functions called.

Module - report contains modules profiled.

CallTree - report contains hierarchy of functions called.

Thread - report contains threads profiled.

Process - report contains processes profiled.

Type - report contains allocated types.

Header - report contains file header information.

Mark - report contains all marks.

Counter - report contains all marks together with counter values.

Ip - report contains instructions profiled data.

Life - report contains lifetime of allocated objects (available when allocation data has been collected.)

Line - report contains source code line profile data.

ETW - report contains a list of all Event Tracing for Windows (ETW) events collected in the profiling run. The .etl data file must be in its original location or in the directory containing the .vsp or .vsps file.


Output report in XML format.


Creates a list of function entry and exits, ETW events, and marks.


Removes previously embedded symbols from a profiler data file. Run this command before running PackSymbols a second time.


Specifies one or more search paths or symbol servers that contain symbols for the profiler data file.


Lists the locations that are searched for symbols and whether they are found. This option is useful to resolve symbol resolution issues.


Saves symbols into the profiling data (.vsp) file so that symbol (.pdb) files are not required for analysis.


Specifies an alternate location for the generated report files. By default, reports are created in the current directory.


Analyze and save the analyzed information in a .vsps summary file.


Show the names and timestamps for all marks in the specified report file.


Displays usage information.


Hides version information when the report is running.

Filter Options

The following table describes the options to filter the available data.




Only show data collected after value (in milliseconds.)


Only show data collected before value (in milliseconds.)


Specifies the location of a filter file that was generated from the Visual Studio Performance Report window.


Only show data from starttime until the length of duration (in milliseconds.)


Only show data from the specified process.


Only show data from the specified thread.


Only show data from the specified thread associated with the specified process.

Difference Report Options

The following table describes the options for comparing report files.



Diff vspfile1 vspfile2

Compare two report files (.vsp or .vsps) files. Summary options will be ignored using the diff option.


Below this threshold value the difference between two values will be disregarded. Also, new data with values under this threshold will not be shown.


Use this specific table to compare files. The default is the functions table.


Use this specific column compare values. The default is the exclusive samples percent column.


List the valid tables and columns for the two report files provided.

See Also

Other Resources

Profiling Tools Report Views