Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O serviço de rastreamento COM+ permite que você crie seus próprios programas administrativos e de diagnóstico que rastreiam o status e o desempenho da execução de aplicativos COM+. O rastreamento COM+ fornece informações estatísticas sobre o uso de aplicativos COM+, bem como informações de status, como se uma instância de aplicativo de servidor COM+ está pausada ou foi reciclada. As ferramentas podem usar informações de rastreamento no monitoramento de diagnóstico ou para fins de exibição. Por exemplo, a ferramenta administrativa Serviços de Componentes utiliza o rastreamento COM+ para exibir o status de instâncias de aplicativos COM+ nas pastas Aplicações COM+ e Processos em Funcionamento.
O rastreamento COM+ calcula e atualiza periodicamente um conjunto de métricas comumente usadas, disponibilizando essas informações para os programas que precisam delas. É semelhante à Instrumentação COM+, na medida em que ambos os serviços recolhem automaticamente dados de instâncias de aplicações COM+ e disponibilizam esses dados aos consumidores. No entanto, existem algumas diferenças importantes entre estes serviços, tanto na funcionalidade fornecida como na utilização típica. A tabela a seguir resume essas diferenças.
| Instrumentação COM+ | Rastreamento COM+ |
|---|---|
| Dados refinados. O serviço de instrumentação COM+ notifica os assinantes registrados de eventos discretos individuais (por exemplo, método chamado, objeto destruído) que ocorrem em uma instância de aplicativo COM+. |
Dados agregados. O acompanhamento COM+ calcula e atualiza periodicamente as métricas mais usadas para o status e o desempenho de instâncias de aplicativos COM+. |
| Os assinantes de eventos normalmente calculam métricas por conta própria, usando algoritmos e políticas ad-hoc. |
As métricas são calculadas automaticamente pelo serviço de rastreamento COM+. Todos os consumidores obtêm os mesmos dados, sem suporte para métricas personalizadas. |
| Depois de registrar uma assinatura, o consumidor não recebe nenhuma informação sobre uma instância de aplicativo COM+ até que ocorra um evento. |
Os dados de rastreamento para todas as instâncias do aplicativo COM+ podem ser recuperados a qualquer momento. |
| Suporta apenas um mecanismo de subscrição baseado em eventos COM+ para consumidores. |
Suporta um mecanismo de assinatura baseado em eventos COM+ e sondagem em uma interface de servidor local COM. |
| Exemplos | |
| Notificações quando um método é chamado ou retorna. |
Tempo médio de resposta de chamada, número de chamadas de método que foram bem-sucedidas ou falharam em um período de tempo recente, número de objetos atualmente em uma chamada de método. |
| Notificações quando um objeto é adicionado ou obtido do pool de objetos. |
Número de objetos no pool, número total de objetos. |
| Notificações quando um aplicativo de servidor COM+ é iniciado, pausado ou reciclado. |
Status do processo do aplicativo de servidor COM+ (por exemplo, se ele está pausado ou reciclado). |
| Notificações de eventos de início, preparação, anulação e confirmação de transações. |
Sem equivalente. |
| Notificações de tentativas de autenticação ao nível da chamada de método, bem-sucedidas e falhadas. |
Sem equivalente. |
Embora o acompanhamento COM+ seja mais limitado em termos de escopo de dados e flexibilidade para calcular métricas, as métricas que ele fornece devem ser suficientes para uma ampla variedade de programas administrativos e de diagnóstico. Usar o rastreamento COM+, quando possível, pode simplificar o design desses programas. Além disso, o uso do rastreamento COM+ em sistemas de produção pode ter um impacto significativamente menor no desempenho, tornando-o mais apropriado para ferramentas de monitoramento em tempo real.
Como o rastreamento COM+ coleta dados
Quando um processo de uma aplicação de servidor COM+ é iniciado, o COM+ regista o processo no servidor de rastreamento , um componente da aplicação do sistema. Os componentes em aplicações da biblioteca COM+ e em contextos de serviços sem componentes (SWC) também suportam rastreamento. Quando um componente de biblioteca ou contexto SWC é criado em um processo, COM+ registra o processo com o servidor rastreador se ele ainda não tiver sido registrado.
COM+ atualiza estatísticas para um processo controlado quando certos eventos ocorrem no processo, como a criação de um objeto ou a conclusão de uma chamada de método. Os dados atualizados são periodicamente enviados para o servidor do rastreador, momento em que ficam disponíveis para os consumidores. O servidor tracker também é responsável por calcular algumas das métricas que são usadas pelos recursos de reciclagem e monitorização de falhas do aplicativo COM+. Estes dados também estão disponíveis para os consumidores.
Os dados de rastreamento são organizados de acordo com o processo que gerou os dados. Os dados ao nível de cada aplicação COM+ ou componentes do processo também estão disponíveis para os consumidores que necessitam destas informações.
Eventos versus Sondagem
O rastreamento COM+ suporta dois mecanismos para que um consumidor obtenha dados de rastreamento do servidor de rastreamento: um mecanismo de assinatura baseado em eventos COM+ e uma interface de servidor local COM.
Os programas que precisam ser notificados periodicamente com dados de rastreamento atualizados podem registrar uma assinatura para a interface de eventos IComTrackingInfoEvents. Aproximadamente a cada três segundos, o servidor rastreador chama o método IComTrackingInfoEvents::OnNewTrackingInfo de cada assinante , enviando os dados de rastreamento mais recentes na forma de um objeto de coleção. Este objeto implementa a interfaceIComTrackingInfoCollection e os subscritores podem navegar nesta coleção para encontrar os dados em que estão interessados.
Por várias razões, pode fazer mais sentido para um determinado programa sondar o servidor de rastreamento para obter dados. Por exemplo, uma ferramenta de monitoramento pode precisar de atualizações com muito menos frequência do que um programa que exibe o status em uma interface do usuário. Além disso, um programa pode usar apenas uma pequena parte dos dados de rastreamento disponíveis para o sistema (por exemplo, uma ferramenta pode monitorar apenas o desempenho de instâncias de um único aplicativo COM+). O modelo de assinatura envia a cada assinante os dados de rastreamento de todos os aplicativos COM+ em cada notificação, e é responsabilidade do assinante encontrar os dados desejados. Finalmente, os eventos COM+ são um mecanismo de notificação de eventos de melhor esforço. Serviços confiáveis de entrega de mensagens não são fornecidos, e não há como um assinante detetar que o servidor rastreador não conseguiu enviar uma notificação.
Um programa que precisa de maior controlo sobre a sua recuperação de dados de rastreio pode usar a interface IGetAppTrackerData do servidor de rastreio.