{"id":5063,"date":"2012-05-18T12:40:00","date_gmt":"2012-05-18T12:40:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/visualstudioalm\/2012\/05\/18\/optimizing-intellitrace-collection-on-production-server\/"},"modified":"2022-07-26T00:58:52","modified_gmt":"2022-07-26T08:58:52","slug":"optimizing-intellitrace-collection-on-production-server","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/optimizing-intellitrace-collection-on-production-server\/","title":{"rendered":"Optimizing IntelliTrace Collection on Production Server"},"content":{"rendered":"<div>\n<h2>\n    <span style=\"color: #365f91;font-family: Cambria;font-size: x-large\">Introduction<\/span>\n  <\/h2>\n<\/div>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">Visual Studio 11 introduces a standalone IntelliTrace package which can be downloaded and copied to a product server and used to collect IntelliTrace information such as call events, web request, exceptions, etc.<\/span><\/span><\/p>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">One of the key factors to consider for turning on IntelliTrace collection is the performance cost in terms of CPU, memory usage and page response time.\u00a0 This article will discuss the performance measurements we took in Microsoft and recommend ways to tune IntelliTrace performance on production sever.<\/span><\/span><\/p>\n<h2><span style=\"color: #365f91;font-family: Cambria;font-size: x-large\">IntelliTrace Instrumentation Mode<\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>With Visual Studio 11, there are three IntelliTrace instrumentation modes.<\/span><\/span><\/p>\n<ul>\n<li><span style=\"font-family: Calibri;font-size: medium\"><span>DiagnosticEventInstrumentation<\/span><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 30px\">\n  <span style=\"font-family: Calibri;font-size: medium\"><span>This will collect IntelliTrace Events such as ADO.net, ASP.net events.\u00a0 This is equivalent to \u201cIntelliTrace Events Only\u201d in Visual Studio UI.<\/span><\/span>\n<\/p>\n<ul>\n<li><span style=\"font-family: Calibri;font-size: medium\"><span>WebTrackingInstrumentation<\/span><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 30px\">\n  <span style=\"font-family: Calibri;font-size: medium\"><span>This newly introduced feature will collect web request information on a production server.\u00a0 This can only be enabled in the standalone package.<\/span><\/span>\n<\/p>\n<ul>\n<li><span style=\"font-family: Calibri;font-size: medium\"><span>TraceInstrumentation <\/span><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 30px\">\n  <span style=\"font-family: Calibri;font-size: medium\"><span>This will collect call information, also known as IntelliTrace High.\u00a0 This could potentially have the greatest performance impact but will also provide the most diagnostic information.\u00a0 This is equivalent to \u201cIntelliTrace Events and Calls\u201d in Visual Studio UI.<\/span><\/span>\n<\/p>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">These instrumentation modes can be turned on\/off by <\/span><a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2011\/09\/15\/modifying-an-intellitrace-collection-plan-for-the-stand-alone-collector.aspx\"><span style=\"color: #0000ff;font-family: Calibri\">modifying the collection plan<\/span><\/a><span style=\"font-family: Calibri\"><span>. \u00a0For example, the following segment of the collection plan will turn on DiagnosticEventInstrumentation but turn off WebTrackingInstrumentation and TraceInstrumentation.<\/span><\/span><\/span><\/p>\n<table style=\"width: 100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<pre class=\"scroll\"><code class=\"cplusplus\">&lt;TraceInstrumentation enabled=\"false\"&gt;&lt;br \/> &hellip;&lt;br \/> &lt;\/TraceInstrumentation&gt;&lt;br \/> &hellip;&lt;br \/> &lt;DiagnosticEventInstrumentation enabled=\"true\"&gt;&lt;br \/> &hellip;&lt;br \/> &lt;\/DiagnosticEventInstrumentation&gt;&lt;br \/> &hellip;&lt;br \/> &lt;WebTrackingInstrumentation enabled=\"false\"&gt;&lt;br \/> &hellip;&lt;br \/> &lt;\/WebTrackingInstrumentation&gt;&lt;br \/><\/code><\/pre>\n<\/p><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: Calibri;font-size: small\">\u00a0<\/span><span style=\"font-family: Calibri;font-size: medium\"><span>Visual Studio 11 standalone IntelliTrace package includes two collection plans by default:<\/span><\/span><\/p>\n<ul>\n<li><span style=\"font-family: Calibri;font-size: medium\"><span>collection_plan.ASP.NET.default.xml\u00a0 <\/span><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 30px\">\n  <span style=\"font-family: Calibri;font-size: medium\"><span>This collection plan turns on diagnosticEventInstrumentation and WebTrackingInstrumentation but turns off TraceInstrumention. \u00a0\u00a0This is also called IntelliTrace <b>Low mode<\/b>.<\/span><\/span>\n<\/p>\n<ul>\n<li><span style=\"font-size: medium\"><span style=\"font-family: Calibri\"><span><\/span><\/span><span><span style=\"font-family: Calibri\">collection_plan.ASP.NET.trace.xml<\/span><\/span><\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 30px\">\n  <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">This collection plan turns on all three modes of IntelliTrace collection. This is also called IntelliTrace <b>High mode<\/b>.<\/span><\/span>\n<\/p>\n<p><span style=\"font-size: medium\"><a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2011\/09\/15\/modifying-an-intellitrace-collection-plan-for-the-stand-alone-collector.aspx\"><span style=\"color: #0000ff;font-family: Calibri\">These collection plans can be modified to suit individual needs<\/span><\/a><\/span><\/p>\n<h2><span style=\"color: #365f91;font-family: Cambria;font-size: x-large\">Performance Impact for IntelliTrace Low<\/span><\/h2>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">When using IntelliTrace in low mode, our tests show ~15% slower page response time across different loads. <\/span><\/span><\/p>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">The table below shows the data we collected for the performance impact in terms of CPU usage and average page time for IntelliTrace in low mode.<\/span><\/span><\/p>\n<table style=\"width: 600px;height: 171px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"128\" nowrap=\"nowrap\">\n<p>\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">\u00a0<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"119\" colspan=\"2\" nowrap=\"nowrap\">\n<p align=\"center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">32 users <\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"67\" nowrap=\"nowrap\">\n<p align=\"center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">\u00a0<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"183\" colspan=\"3\" nowrap=\"nowrap\">\n<p align=\"center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">64 users<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"191\" colspan=\"3\" nowrap=\"nowrap\">\n<p align=\"center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">128 users<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"128\" nowrap=\"nowrap\">\n<p>\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">\u00a0<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"center\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">Off<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p style=\"text-align: center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">Low<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"67\" nowrap=\"nowrap\">\n<p style=\"text-align: center\" align=\"right\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">%delta<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p style=\"text-align: center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">Off<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p style=\"text-align: center\" align=\"right\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">Low<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"65\" nowrap=\"nowrap\">\n<p style=\"text-align: center\" align=\"right\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">%delta<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p style=\"text-align: center\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">Off<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p style=\"text-align: center\" align=\"right\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">Low<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<td width=\"68\" nowrap=\"nowrap\">\n<p style=\"text-align: center\" align=\"right\">\n          <span style=\"font-size: medium\"><b><span><span style=\"font-family: Calibri\">%delta<\/span><\/span><\/b><\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"128\" nowrap=\"nowrap\">\n<p>\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">%CPU w3wp.exe<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">15.00%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">17.60%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"67\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-17.33%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">28.60%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">33.40%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"65\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-16.78%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">50.60%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">59.10%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"68\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-16.80%<\/span><\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"128\" nowrap=\"nowrap\">\n<p>\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">Avg. Page Time(s)<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.65<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.74<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"67\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-13.85%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.72<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"59\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.82<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"65\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-13.89%<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.78<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"62\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"font-size: medium\"><span style=\"font-family: Calibri\">0.89<\/span><\/span>\n        <\/p>\n<\/td>\n<td width=\"68\" nowrap=\"nowrap\">\n<p align=\"right\">\n          <span style=\"color: #ff0000;font-size: medium\"><span style=\"font-family: Calibri\">-14.10%<\/span><\/span>\n        <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\"><\/span><\/span>\u00a0<span style=\"font-size: medium\"><span style=\"font-family: Calibri\">There will also be a memory cost for turning on IntelliTrace since pre-generated native images cannot be used. \u00a0This memory cost typically happens at the start-up time when modules are loaded and will not increase during the life of the web application.\u00a0 The actual amount of memory increase is related to the number of modules being loaded by the application.\u00a0 For example, the memory increase is about 60M for a simple test web application and 200M for a complex application such as Microsoft Team Foundation Server. <\/span><\/span><\/p>\n<h2><span style=\"color: #365f91;font-family: Cambria;font-size: x-large\">Performance Impact for IntelliTrace High<\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>The performance cost for turning on IntelliTrace in high mode depends on the following factors:<\/span><\/span><\/p>\n<p><span style=\"font-size: large\"><span style=\"color: #4f81bd\"><span style=\"font-family: Cambria\">1.<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-family: Cambria\">IntelliTrace injects code to the instrumented methods and will slow down the execution<\/span><\/span><span style=\"color: #4f81bd\"><span style=\"font-family: Cambria\"><span>\u00a0 <\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>IntelliTrace collects information for every call to every method in modules that are included for instrumentation.\u00a0 So the performance of your application will be directly related to the number of times that these methods are called.\u00a0 \u00a0If you supply an assembly that has methods that called often in a tight loop, this will likely cause a larger performance impact than if you assembly has a lot of methods that are called sporadically.<\/span><\/span><\/p>\n<p><span style=\"font-size: large\"><span style=\"color: #4f81bd\"><span style=\"font-family: Cambria\">2.<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-family: Cambria\">File I\/O bottleneck<\/span><\/span><span style=\"color: #4f81bd\"><span style=\"font-family: Cambria\"><span>\u00a0\u00a0 <\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">IntelliTrace buffers data before writing to disk in order to improve responsiveness.\u00a0 However, if there is a lot of data to write, and the disk is slow to respond, these buffers can be filled, forcing IntelliTrace to suspend the work process to wait for the disk, slowing performance. In our lab, we have observed a data writing throughput limit of 20M\/sec on average.\u00a0 This number may vary depending on the machine configurations.<\/span><\/span><\/p>\n<p><span style=\"font-size: medium\"><span style=\"font-family: Calibri\">In our performance test, only one module which contains one method is enabled for IntelliTrace collection.\u00a0 As the result, we can control how many times this method is called per page request.\u00a0 The graphs below show the slowdown of page response time in relation to the number of instrumented methods being executed and throughput of IntelliTrace data being written.\u00a0\u00a0 In the second graph, you can see the performance degrades greatly when IntelliTrace throughput reaches 18M\/s.\u00a0 <\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\"><a href=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2012\/05\/8228.p1.jpg\"><img decoding=\"async\" border=\"0\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2012\/05\/8228.p1.jpg\" \/><\/a><\/span><\/p>\n<p><img decoding=\"async\" border=\"0\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/devops\/wp-content\/uploads\/sites\/6\/2012\/05\/7633.p2.jpg\" \/><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n<h2><span style=\"color: #365f91;font-family: Cambria;font-size: large\">Recommendations for tuning IntelliTrace in High Mode<\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>IntelliTrace in high mode provides call information.\u00a0 This can be very helpful in tracking down some hard to reproduce problems.\u00a0 But it needs to be done very selectively so that the web application does not slow down too much.<\/span><\/span><\/p>\n<h2><span style=\"color: #4f81bd;font-size: medium\"><span style=\"font-family: Cambria\">1.<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-family: Cambria\">Only target very few selected modules<\/span><\/span><\/h2>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>Hopefully you have an idea on which area that error most likely happened.\u00a0 You can then modify the collection plan to enable TraceInstrumentation only for the affected modules. <\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span><span style=\"font-family: Calibri;font-size: medium\"><span>The collection_plan.ASP.NET.trace.xml\u00a0 shipped with the package has the following lines:<\/span><\/span><\/span><\/span><\/p>\n<table style=\"width: 100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<p>\n            <code class=\"cplusplus\">&lt;TraceInstrumentation enabled=\"true\"&gt;&lt;br \/>&nbsp; &lt;Options&gt;PresetFull&lt;\/Options&gt;&lt;br \/>&nbsp; &lt;ModuleList isExclusionList=\"true\"&gt;&lt;br \/>&nbsp; &lt;Name&gt;PublicKeyToken:B77A5C561934E089&lt;\/Name&gt;&lt;br \/>&nbsp; &lt;Name&gt;PublicKeyToken:B03F5F7F11D50A3A&lt;\/Name&gt;&lt;br \/>&nbsp; &lt;Name&gt;PublicKeyToken:31BF3856AD364E35&lt;\/Name&gt;&lt;br \/>&nbsp; &lt;Name&gt;PublicKeyToken:89845DCD8080CC91&lt;\/Name&gt;&lt;br \/>&nbsp; &lt;Name&gt;PublicKeyToken:71E9BCE111E9429C&lt;\/Name&gt;&lt;br \/>&nbsp; &lt;Name&gt;Microsoft.&lt;\/Name&gt;&lt;br \/> &lt;\/ModuleList&gt;&lt;br \/> &hellip;&lt;br \/> &lt;\/TraceInstrumentation&gt; <\/code>\n          <\/p>\n<\/p><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>This basically means to exclude the modules that start with \u201cMicrosoft\u201d and modules with publicKeyToken listed in the list (Those are IntelliTrace modules) .\u00a0 <\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span><span style=\"font-family: Calibri;font-size: medium\"><span>To enable instrumentation for only the module you wanted, modify the above section as the following:<\/span><\/span><\/span><\/span><\/p>\n<table style=\"width: 100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>\n<p>\n            <code class=\"cplusplus\">&lt;TraceInstrumentation enabled=\"true\"&gt;&lt;br \/>&nbsp; &lt;Options&gt;PresetFull&lt;\/Options&gt;&lt;br \/>&nbsp; &lt;ModuleList isExclusionList=\"false\"&gt;&lt;br \/>&nbsp;&nbsp; &lt;Name&gt;MyDataAccess.dll &lt;\/Name&gt;&lt;br \/>&nbsp;&nbsp; &lt;Name&gt;MyWebAppDll. &lt;\/Name&gt;&lt;br \/>&nbsp; &lt;\/ModuleList&gt;&lt;br \/> &hellip;&lt;br \/> &lt;\/TraceInstrumentation&gt;<\/code>\n          <\/p>\n<\/p><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>This will enable instrumentation for MyDataAccess.dll and all the modules that start with MyWebAppdll. Notice you use \u201cMyWebAppDll.\u201d\u00a0 Not \u201cMyWebAppDll.*\u201d<\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\"><span>Tuning the enabled modules by monitoring performance counters such as CPU usage and disk\/IO to make sure the web application\u2019s performance is acceptable.<\/span><\/span><\/p>\n<h2><span style=\"color: #4f81bd;font-size: large\"><span style=\"font-family: Cambria\">2.<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-family: Cambria\">Modify the maximum log file size to suite your need.<\/span><\/span><\/h2>\n<p><span style=\"font-size: medium\"><span><span style=\"font-family: Calibri\">IntelliTrace places a limit on the file size for its log file. \u00a0<\/span><\/span><a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2011\/09\/15\/modifying-an-intellitrace-collection-plan-for-the-stand-alone-collector.aspx\"><span style=\"color: #0000ff;font-family: Calibri\">This maximum file size can be configured as part of the collection plan<\/span><\/a><span><span style=\"font-family: Calibri\">.\u00a0 The default size is 100M.\u00a0\u00a0\u00a0 When the maximum file size is reached, IntelliTrace employs a circular truncation mechanism in which the earlier events are truncated. \u00a0As the result, the useful IntelliTrace information could be truncated if the maximum file size is set to small.\u00a0 If you know byte\/s written by the IntelliTrace, you can estimate the maximum log file size needed for your collection and set it accordingly.\u00a0 However, it is recommended that maximum log file size does not\u00a0exceed 1G as it could be potential slow for Visual Studio to read back a very large IntelliTrace log file.<\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n<p><span style=\"font-family: Calibri;font-size: medium\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Visual Studio 11 introduces a standalone IntelliTrace package which can be downloaded and copied to a product server and used to collect IntelliTrace information such as call events, web request, exceptions, etc. One of the key factors to consider for turning on IntelliTrace collection is the performance cost in terms of CPU, memory usage [&hellip;]<\/p>\n","protected":false},"author":90,"featured_media":45953,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"acf":[],"blog_post_summary":"<p>Introduction Visual Studio 11 introduces a standalone IntelliTrace package which can be downloaded and copied to a product server and used to collect IntelliTrace information such as call events, web request, exceptions, etc. One of the key factors to consider for turning on IntelliTrace collection is the performance cost in terms of CPU, memory usage [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/5063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/90"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=5063"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/5063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/45953"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=5063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=5063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=5063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}