COM+ Instrumentation Interfaces

The COM+ Instrumentation metrics are published to a client by using COM+ Events, a loosely coupled events (LCE) system that stores event information from different publishers in an event store in the COM+ catalog. The metrics are grouped in categories based on the type of object for which they provide information. For each category, there is a correspondent interface to which the client can subscribe, and the subscribing client receives all the metrics in that category. The client can also subscribe to specific methods on the interface to receive specific metrics through filtering metrics.

The COM+ instrumentation interfaces described in the following table allow clients to receive notifications for a variety of COM+ instrumentation metrics.

Interfaces Metrics provided
IComActivityEvents
The user implements IComActivityEvents to be notified when an activity is created, destroyed, or timed out.
IComAppEvents
The user implements IComAppEvents to be notified when a server application starts, shuts down, or is forced to shut down.
IComApp2Events
The user implements IComApp2Events to be notified if a COM+ server application is loaded, shut down, or paused. The subscriber is also notified if the application is marked for recycling.
IComCRMEvents
The user implements IComCRMEvents to be notified when the Compensating Resource Manager (CRM) recovery starts or completes.
IComExceptionEvents
The user implements IComExceptionEvents to be notified when a user exception has occurred in a transactional component.
IComIdentityEvents
The IComIdentityEvents interface notifies the subscriber of an activity that is part of an Internet Information Services (IIS) Active Server Pages (ASP) page.
IComInstanceEvents
IComInstance2Events
The IComInstanceEvents or IComInstance2Events interface notifies the subscriber of an object's creation or release.
IComMethodEvents
IComMethod2Events
The user implements IComMethodEvents or IComMethod2Events to be notified when an object's method is called, returned, or generates an exception.
IComObjectConstructionEvents
The IComObjectConstructionEvents interface notifies the subscriber if a constructed object is created in an object pool.
IComObjectConstruction2Events
The IComObjectConstruction2Events interface notifies the subscriber if a constructed object is created.
IComObjectEvents
The user implements IComObjectEvents to be notified when a JIT-activated object is created or released.
IComObjectPoolEvents
IComObjectPool2Events
The user implements IComObjectPoolEvents or IComObjectPool2Events to be notified if a transactional or non-transactional object is added to or obtained from the object pool.
IComObjectPoolEvents2
The user implements IComObjectPoolEvents2 to be notified when a new pool is created or an object is returned or obtained from the pool.
IComQCEvents
The user implements IComQCEvents to be notified when a queued message is created or de-queued.
IComResourceEvents
The user implements IComResourceEvents to be notified when a new resource is created, allocated, destroyed, or tracked.
IComSecurityEvents
The IComSecurityEvents interface notifies the subscriber if the authentication of a method call succeeded or failed.
IComThreadEvents
The IComThreadEvents interface notifies the subscriber if a single-threaded apartment (STA) is created or terminated, and when an apartment thread is allocated. The subscriber is also notified if an activity is assigned or unassigned to an apartment thread.
IComTrackingInfoCollection
The IComTrackingInfoCollection interface notifies the subscriber of the type and count of tracked collections.
IComTrackingInfoEvents
The IComTrackingInfoEvents interface notifies the subscriber of tracked events.
IComTrackingInfoObject
The IComTrackingInfoObject interface notifies the subscriber of changes to the properties of tracked objects.
IComTrackingInfoProperties
The IComTrackingInfoProperties interface notifies the subscriber of changes to the count and names of tracked properties.
IComTransactionEvents
The user implements IComTransactionEvents to be notified when a distributed transaction of a component is committed or aborted.
IComTransaction2Events
The IComTransaction2Events interface notifies the subscriber if a Microsoft Distributed Transaction Coordinator (DTC) transaction starts, commits, or aborts. The subscriber is also notified when the transaction is in the prepare phase of the two-phase commit protocol.
IComUserEvent
The user implements IComUserEvent to be notified when a user-defined event has occurred.
ISystemAppEventData
The ISystemAppEventData interface notifies the subscriber of the creation and modification of COM+ application instances.