Partial Instrumentation in COM+
ChristopheS
Posts: 3
Hi,
I have a Windows service that is monitoring a queue from MQSeries. When a message arrives, a .NET transaction is created in order to get(consume) the message in a transactional way.
Then the service is calling a COM+ component that joins the transaction and runs the business logic on it.
When I try to instrument this (at COM+ level), even if I have many messages in the queues and many calls are done to COM+, but "performance Profiler" is only instrumenting the first call to COM+.
Do I do something wrong ?
Christophe S.
I have a Windows service that is monitoring a queue from MQSeries. When a message arrives, a .NET transaction is created in order to get(consume) the message in a transactional way.
Then the service is calling a COM+ component that joins the transaction and runs the business logic on it.
When I try to instrument this (at COM+ level), even if I have many messages in the queues and many calls are done to COM+, but "performance Profiler" is only instrumenting the first call to COM+.
Do I do something wrong ?
Christophe S.
Comments
ANTS showing the call tree +
ANTS showing the method grid results
will be very helpful.
Thanks!
Client -> COM+ Package
In my scenario the client will do 1 call to COM+.
Internally inside COM+, the called component will make many calls (37) to a main business component. During my instrumentation, only 1 or 2 calls (even 0 sometimes) are captured.
Extra info:
- Type of instrumentation: Method-level timings; all methods (faster)
- My client is a Windows service
- Code is release version
- No PDB files deployed
- I have often "Interop.SEHException" logged by the profiler at the beginning of the execution (but don't know what this means)
Does running in sampling mode give you more 9if less detailed) information?
You may find running the profiler *explicitly* as administrator helps. Otherwise, if you wanted we would analyse a memory dump and try to understand the part ANTS is playing in any exceptions...