5

I have a web-service application that exposes lot of web-methods ( internally calling internal APIs or external web-services). I would like to have a tool to monitor this whole application running under IIS. To be clear I just don't want to inspect the requests that are failing, I also would like to see things like how long different calls are taking . I guess it has to be something like SQL Profiler tool where you can look at all types of queries ( those that run successfully and those that fail too) and then apply all sorts of filter in focusing on the areas that interests you more.

Is there anything built in IIS that could be used for this purpose?

imak
  • 6,489
  • 7
  • 50
  • 73
  • 1
    What web service technology are you using (ASMX, WCF)? Also which version of .NET and IIS are you running? – Michael Brown Jan 31 '11 at 15:49
  • ASMX for now but will be adotping WCF soon. IIS 7, .NET 3.5 (considering a few things in .NET 4.0) – imak Jan 31 '11 at 16:00

4 Answers4

5

What you are looking for is a runtime profiler for the CLR. The answer is ETW tracing. The tool that can help is PerfMonitor.

IIS 7 has failed request tracing which can help in diagnosing the cause for the failure.

Also IIS logs have lot of information on request, response,duration and few more which can be helpful in getting metrics. I usually use Log Parser for getting metrics from IIS logs

And if you are in IIS7+ then you could use built-in ETW tracing for webservices. Here is the ETW provider for webservice

e04fe2e0-c6cf-4273-b59d-5c97c9c374a4: Microsoft-Windows-WebServices Microsoft-Windows-WebServices
Naveen
  • 4,092
  • 29
  • 31
  • so is there any tool that can integrate all these data/messages or will I have to run these tools separately to gather all the data for analysis? Also I have posted a different questions but what I will get from Perfromance monitor is not part of ETW. I somehow have this understanding that ETW is kind of superset of all the logs (which mean it includes all performances counters, failed request tracing and IIS logs etc) ? – imak Feb 01 '11 at 20:36
  • Correct me if i am wrong but seem like PerfMonitor link that you provided works with .NET 4.0 whereas we are on 3.5 – imak Feb 02 '11 at 16:11
  • @Imak No with Perfmonitor I am able to get call-stacks for .NET 3.5 process also. – Naveen Feb 02 '11 at 18:02
0

For any application running under ASP.NET, you can use perfmon to look at different performance numbers.

If you're using ASP.NET 4, there are even better tools available to you

Also if your web services are WCF based, it gets even better Not only do you have very rich tracing, there's also a gui that displays the logs very nicely.

Michael Brown
  • 9,041
  • 1
  • 28
  • 37
  • Sorry for my ignorance but whcih gui tool specifically are you talking about here for display logs? – imak Jan 31 '11 at 16:13
  • Found http://msdn.microsoft.com/en-us/library/cc786217(v=ws.10).aspx that might be useful too – imak Feb 01 '11 at 15:38
  • Not sure how that link to What's New in ASP.NET 4 provides any tools for visualizing IIS performance – jao Dec 11 '14 at 10:31
  • Well the link used to include information about perfmon improvements in ASP.NET 4 but I could see how one link of 3 not including the information it once did leads you to mark the entire answer as bad – Michael Brown Dec 11 '14 at 16:15
0

You can try get official IIS Extensions with the Microsoft Web Platform Installer called Web Performance Monitor

Chingiz Musayev
  • 2,832
  • 1
  • 14
  • 6
  • Ideally I would like to use some tool/technology that has a large existing user base for a production application. Correct me if i am wrong but i don't see a wide-spread use for this. – imak Feb 01 '11 at 15:34
0

Microsoft sells System Center Operation Manager, which has been used by many big firms. But that's too expensive if you cannot afford it.

Web Performance Monitor of course worth a try, and Perfmon is already an option.

Lex Li
  • 60,503
  • 9
  • 116
  • 147