Seguimiento de COM+
El servicio de seguimiento COM+ le permite crear sus propios programas administrativos y de diagnóstico que realizan un seguimiento del estado y el rendimiento de las aplicaciones COM+ en ejecución. El seguimiento de COM+ proporciona información estadística sobre el uso de aplicaciones COM+, así como información de estado, como si una instancia de aplicación de servidor COM+ está en pausa o se ha reciclado. Las herramientas pueden usar información de seguimiento en la supervisión de diagnóstico o con fines de visualización. Por ejemplo, la herramienta administrativa Servicios de componentes usa el seguimiento de COM+ para mostrar el estado de las instancias de aplicación COM+ en las carpetas Aplicaciones COM+ y Procesos en ejecución.
El seguimiento de COM+ calcula y actualiza periódicamente un conjunto de métricas usadas habitualmente, lo que hace que esta información esté disponible para los programas que lo necesitan. Es similar a la instrumentación COM+ en que ambos servicios recopilan automáticamente datos de instancias de aplicación COM+ y hacen que estos datos estén disponibles para los consumidores. Sin embargo, hay algunas diferencias importantes entre estos servicios, tanto en la funcionalidad proporcionada como en el uso típico. En la tabla siguiente se resumen estas diferencias.
Instrumentación COM+ | Seguimiento de COM+ |
---|---|
Datos específicos. El servicio de instrumentación COM+ notifica a los suscriptores registrados de eventos discretos individuales (por ejemplo, método denominado , objeto destruido) que se producen en una instancia de aplicación COM+. |
Datos agregados. El seguimiento de COM+ calcula y actualiza periódicamente las métricas usadas habitualmente para el estado y el rendimiento de las instancias de aplicación COM+. |
Normalmente, los suscriptores de eventos calculan métricas por sí mismas, mediante algoritmos y directivas ad hoc. |
El servicio de seguimiento com+ calcula automáticamente las métricas. Todos los consumidores obtienen los mismos datos, sin compatibilidad con las métricas personalizadas. |
Después de registrar una suscripción, el consumidor no recibe ninguna información sobre una instancia de aplicación COM+ hasta que se produzca un evento. |
Los datos de seguimiento de todas las instancias de aplicación COM+ se pueden recuperar en cualquier momento. |
Solo admite un mecanismo de suscripción basado en eventos COM+ para los consumidores. |
Admite tanto un mecanismo de suscripción basado en eventos COM+ como un sondeo en una interfaz de servidor local COM. |
Ejemplos | |
Notificaciones cuando se llama o devuelve un método. |
Promedio de tiempo de respuesta de llamadas, número de llamadas de método que se realizaron correctamente o con errores en un período de tiempo reciente, número de objetos actualmente en una llamada de método. |
Notificaciones cuando se agrega o obtiene un objeto del grupo de objetos. |
Número de objetos del grupo, número total de objetos. |
Notificaciones cuando se inicia, pausa o recicla una aplicación de servidor COM+. |
Estado del proceso de aplicación del servidor COM+ (por ejemplo, si está en pausa o reciclado). |
Notificaciones de inicio, preparación, anulación y confirmación de eventos de transacción. |
No equivalente. |
Notificaciones de intentos de autenticación de nivel de llamada de método correctos y erróneos. |
No equivalente. |
Aunque el seguimiento de COM+ es más limitado en términos de ámbito de datos y flexibilidad para calcular métricas, las métricas que proporciona deben ser suficientes para una amplia variedad de programas administrativos y de diagnóstico. El uso del seguimiento com+, siempre que sea posible, puede simplificar el diseño de estos programas. Además, el uso del seguimiento com+ en sistemas de producción puede tener un impacto de rendimiento significativamente menor, lo que hace que sea más adecuado para las herramientas de supervisión en tiempo real.
Cuando se inicia un proceso de aplicación de servidor COM+, COM+ registra el proceso con el servidor de seguimiento, un componente de la aplicación del sistema. Los componentes de aplicaciones y servicios de biblioteca COM+ sin contextos de componentes (SWC) también admiten el seguimiento. Cuando se crea un componente de biblioteca o un contexto de SWC en un proceso, COM+ registra el proceso con el servidor de seguimiento si aún no se ha registrado.
COM+ actualiza las estadísticas de un proceso de seguimiento cuando se producen determinados eventos en el proceso, como la creación de un objeto o la finalización de una llamada de método. Los datos actualizados se envían periódicamente al servidor de seguimiento, en cuyo momento está disponible para los consumidores. El servidor de seguimiento también es responsable de calcular algunas de las métricas usadas por las características de reciclaje y supervisión de bloqueos de la aplicación COM+. Estos datos también están disponibles para los consumidores.
Los datos de seguimiento se organizan según el proceso que generó los datos. Los datos en el nivel de aplicaciones o componentes COM+ individuales del proceso también están disponibles para los consumidores que necesitan esta información.
El seguimiento de COM+ admite dos mecanismos para que un consumidor obtenga datos de seguimiento del servidor de seguimiento, un mecanismo de suscripción basado en eventos COM+ y una interfaz de servidor local COM.
Los programas que deberán recibir notificaciones periódicamente con los datos de seguimiento actualizados pueden registrar una suscripción para la interfaz de eventos IComTrackingInfoEvents . Aproximadamente cada tres segundos, el servidor de seguimiento llama al método IComTrackingInfoEvents::OnNewTrackingInfo de cada suscriptor, enviando los datos de seguimiento más recientes en forma de objeto de colección. Este objeto implementa la interfaz IComTrackingInfoCollection y los suscriptores pueden navegar por esta colección para encontrar los datos en los que están interesados.
Por varias razones, podría tener más sentido que un programa sondee el servidor de seguimiento de datos. Por ejemplo, una herramienta de supervisión puede necesitar actualizaciones con mucha menos frecuencia que un programa que muestra el estado en una interfaz de usuario. Además, un programa solo puede usar una pequeña parte de los datos de seguimiento disponibles para el sistema (por ejemplo, una herramienta solo podría supervisar el rendimiento de las instancias de una sola aplicación COM+). El modelo de suscripción envía a cada suscriptor los datos de seguimiento de todas las aplicaciones COM+ en cada notificación, y es responsabilidad del suscriptor encontrar los datos que quiere. Por último, los eventos COM+ son un mecanismo de notificación de eventos de mejor esfuerzo. Los servicios de entrega de mensajes confiables no se proporcionan y no hay ninguna manera de que un suscriptor detecte que el servidor de seguimiento no pudo enviar una notificación.
Un programa que necesita un mayor control sobre su recuperación de datos de seguimiento puede usar la interfaz IGetAppTrackerData del servidor de seguimiento.