Command-Line Profiling of Services


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

This section describes the procedures and options for collecting performance data for Windows services by using Visual Studio Profiling Tools from the command line.


Enhanced security features in Windows 8 and Windows Server 2012 required significant changes in the way the Visual Studio profiler collects data on these platforms. Windows Store apps also require new collection techniques. See Performance Tools on Windows 8 and Windows Server 2012 applications.

Common Tasks

Task Related Content
Collect application statistics: Use the sampling method to collect performance statistics. Sampling data is useful for analyzing CPU utilization issues and for understanding the general performance characteristics of an application. - Collecting Application Statistics Using Sampling
Collect detailed timing data: Use the instrumentation method to collect detailed timing information. Instrumentation data is useful for analyzing IO issues and for fine-grained analysis of application scenarios. - Collecting Detailed Timing Data Using Instrumentation
Collect .NET memory data: Use sampling or instrumentation to collect .NET memory allocation data that shows you the size and number of allocated objects. You can also collect object lifetime data that shows you the size and number of objects that are reclaimed in each garbage collection generation. - Collecting .NET Memory Data
Collect concurrency data: Use the concurrency method to collect resource contention data and thread activity data that shows you CPU utilization, thread contention, thread migration, synchronization delays, areas of overlapped IO, and other system events. - Collecting Concurrency Data
Add tier interaction data: You can add performance data about synchronous ADO.NET calls that the service made to a Microsoft SQL Server database. - Collecting tier interaction data
Task Related Content
Profile stand-alone (client) applications - Profiling Stand-Alone Applications
Profile ASP.NET applications - Profiling ASP.NET Web Applications