IIS httpTracing setting has no effect
- by digahill
I'm trying to troubleshoot some performance issues we are having on a specific ASP.NET page with Microsoft's Perfecto Tool on IIS 7.5. Perfecto uses the ETW hooks build in to IIS to report on specific HTTP request, and is working quite well.
However, I only want IIS to emit traces for one specific page, say "Default.aspx" in my TestApp Web Application. Following the instructions on the httpTracing man page, I should be able to add the traceUrls element to my root web.config file for TestApp. This doesn't seem to affect tracing whatsoever when I do so.
For example, I've used the following settings in the web.config file and every request that hits the IIS server is sending tracing messages that are in turn picked up by Perfecto. (In the System.WebServer section)
<httpTracing>
<traceUrls>
<add value="/Default.aspx" />
</traceUrls>
</httpTracing>
I then found that the applicationHost.config file on the server had an empty element. I tried removing this element, as well as the httpTracing element in the web.config. After a machine reboot, I was still getting tracing messages! My understanding is that the presense of the httpTracing element is what controlls whether ETW tracing is on or not. I ensured there was no reference to httpTracing in the machine.config, too.
At a loss, I decided to remove the IIS Tracing feature with Server Manager. After a reboot, I no longer got ETW tracing. I then reinstalled IIS Tracing feature with Server Manager. As expected, the httpTracing element reappeared in the applicationhost.config file. Tracing messages began sending again for all sites and pages.
I then tried to use the traceUrls element at the applicationhost.config level. This also didn't filter out and traces.
I must be misunderstanting something key with how httpTracing works. There aren't many resources on the web to help me, either.
Can anyone tell me if what I'm trying should work? Has anyone else had success filtering tracing message per page with traceUrls?
I should note that I also tried changing with the following setting in applicationhost.config to "allow". It didn't seem to help.
<section name="httpTracing" overrideModeDefault="Allow" />