We've got an ASP application we took over support for from a vendor. One who did an especially poor job.
It's scripted in VBScript running on Win2K/IIS 5. It makes heavy use of COM components running under MTS on another server.
The components were really, really poorly designed and written in VB. They put hundreds of components in a total of 3 DLLs. The net result is that even with a really hefty server this application can only support about 20-25 users at a time. Everything gets all queued up on the MTS box.
We would really like to know the "health" of the MTS system. We would like to know if the components are stuck or actually doing work. There has got to be some way of telling if the MTS is "working" or "waiting".
Is there any API or other data that we can check in on to see if the components are really working? On UNIX we might register an alarm signal with a call back to a function in the component and have it write out a "heart beat" timestamp to a file. Is there any alarming in the Win2K OS that could do a call back like this? Is there some way to "find" the COM thread and then check on the amount of CPU it's using?
Right now, we really have a "black box" and don't know if our application is getting into trouble. We can get the vendor to modify the component if we can tell them how.