This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here
VSPerfReport command line tool is used to create reports using Visual Studio Profiling Tools profiling data files. The default report format is a .csv file.
VSPerfReport uses the following syntax:
VSPerfReport [/U] vspfilename [/options]
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.
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.
|U||Report output and redirected console output are written as Unicode. Must be the first option specified.|
|Summary:[types]||Creates one or more types of reports.
|Xml||Output report in XML format.|
|CallTrace||Creates a list of function entry and exits, ETW events, and marks.|
|ClearPackedSymbols||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.|
|DebugSymPath||Lists the locations that are searched for symbols and whether they are found. This option is useful to resolve symbol resolution issues.|
|PackSymbols||Saves symbols into the profiling data (.vsp) file so that symbol (.pdb) files are not required for analysis.|
|Output: path|filename||Specifies an alternate location for the generated report files. By default, reports are created in the current directory.|
|SummaryFile||Analyze and save the analyzed information in a .vsps summary file.|
|PrintMarks||Show the names and timestamps for all marks in the specified report file.|
|?||Displays usage information.|
|NoLogo||Hides version information when the report is running.|
|UserRulesDirectory||Specifies directory containing user-defined performance rules [Not yet implemented].|
The following table describes the options to filter the available data.
||Only show user application function calls; hide system calls.
- No parameters - hide all system functions.
|StartTime:[value]||Only show data collected after value (in milliseconds.)|
|EndTime:[value]||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.|
|MsFilter:[starttime,duration]||Only show data from
|Process:[pid]||Only show data from the specified process.|
|Thread:[threadid]||Only show data from the specified thread.|
|Thread:[threadid,processid]||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.
||Compare two report files (.vsp or .vsps) files. Summary options will be ignored using the diff option.|
|Diff:[value]||Below this threshold value the difference between two values will be disregarded. Also, new data with values under this threshold will not be shown.|
|DiffTable:[tablename]||Use this specific table to compare files. The default is the functions table.|
|DiffColumn:[columnname]||Use this specific column compare values. The default is the exclusive samples percent column.|
|QueryDiffTables||List the valid tables and columns for the two report files provided.|