Compartilhar via


Monitorando contadores de desempenho e eventos do StreamInsight

Agora você pode usar a infraestrutura de diagnóstico existente para monitorar e solucionar problemas de processos e consultas do StreamInsight com o Monitor de Desempenho e o Visualizador de Eventos.

Neste tópico

  • Contadores de Desempenho

    • Configurando os contadores de desempenho

    • Lista de contadores de desempenho

    • Como os contadores de desempenho podem me ajudar?

  • Eventos administrativos

    • Configurando o log administrativo

    • Lista de eventos administrativos

Contadores de Desempenho

O StreamInsight instala e configura contadores de desempenho. Você pode monitorar esses contadores com o Monitor de Desempenho ou outra ferramenta de monitoramento.

Os contadores de desempenho estão disponíveis para os seguintes objetos do StreamInsight:

  • Servidores

  • Consultas

  • Adaptadores de entrada

  • Resiliência

Configurando os contadores de desempenho

Os contadores de desempenho são instalados e configurados quando você instala o StreamInsight. Essa opção de instalação não pode ser configurada.

Os contadores da categoria Servidores são ativados por padrão e não podem ser desativados. Os contadores das categorias Consultas e Adaptadores de Entrada são desativados por padrão. Quando você ativa os contadores para uma consulta, os contadores dos adaptadores de entrada associados são ativados também. Quando você reinicia uma instância do StreamInsight, esses comportamentos padrão são restaurados.

Como ativar os contadores para uma única consulta

Ative os contadores para uma consulta específica e seus adaptadores de entrada associados habilitando um novo Aspect em uma chamada para Server.SetDiagnosticSettings.

Por exemplo, você pode usar o seguinte código para ativar os contadores de desempenho para a consulta com o URI cep:/Server/Application/MyApp/Query/MyQuery.

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects |= DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);

Você pode usar o seguinte código para desativar os contadores de desempenho para a mesma consulta.

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects & ~DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);

Como ativar os contadores para todas as consultas

Também é possível usar um loop foreach para ativar os contadores de desempenho de todas as consultas e adaptadores de entrada em um aplicativo.

foreach (var q in application.Queries)
   {
       DiagnosticSettings settings = server.GetDiagnosticSettings(q.Value.Name);
       settings.Aspects |= DiagnosticAspect.PerformanceCounters;
       server.SetDiagnosticSettings(q.Value.Name, settings);
   }

Para obter mais informações sobre as classes e os métodos usados nos exemplos de código precedentes, consulte os seguintes tópicos:

[TOP]

Lista de contadores de desempenho

Convenções de nomenclatura

Cadeias de caracteres como nomes de aplicativo com mais de 16 caracteres são encurtadas de acordo com a seguinte fórmula: first 10 characters + 2 periods + last 4 characters.

Nas convenções de nomenclatura específicas descritas a seguir, uniqueid se refere à ID do objeto em tempo de execução.

Contadores de servidor

Convenção de nomenclatura das instâncias de servidor: %PROCESSNAME%[uniqueid], onde %PROCESSNAME% é o nome do processo de hospedagem.

Nome

Descrição

Eventos nas filas de entrada

Número de eventos nas filas de entrada de todas as consultas.

Eventos nas filas de saída

Número de eventos nas filas de saída de todas as consultas.

Memória

Memória total (em bytes) usada para todos os fluxos, eventos e índices de operador.

Consultas em execução

Número de consultas em execução.

Contadores de consulta

Convenção de nomenclatura das instâncias de consulta: %APPLICATION NAME%,%QUERY NAME%[uniqueid],%SERVER_INSTANCE_NAME%, onde %SERVER_INSTANCE_NAME% é o nome de instância do servidor ao qual a consulta pertence.

Nome

Descrição

Latência média de evento produzido

A latência média (em milissegundos) dos eventos produzidos pela consulta a cada segundo.

CTIs produzidos

Número de CTIs produzidos.

Eventos na fila de saída

Número de eventos na fila de saída.

Eventos produzidos

Número de eventos produzidos.

Memória

Memória total (em bytes) usada, incluindo eventos, índices e fluxos.

Eventos produzidos/s

Número de eventos produzidos por segundo.

Contadores de adaptador de entrada

Convenção de nomenclatura das instâncias de adaptador: %APPLICATION NAME%,%QUERY NAME%,%ADAPTER NAME%[uniqueid],%SERVER_INSTANCE_NAME%.

Nome

Descrição

Eventos ajustados

Número de eventos cujos metadados temporais foram ajustados de acordo com a política AdvanceTimeSettings.

Entrada de CTIs

Número de CTIs enviados à fila de saída.

Eventos removidos

Número de eventos removidos de acordo com a política AdvanceTimeSettings.

Eventos na fila de entrada

Número de eventos na fila de entrada (incluindo CTIs).

Eventos de entrada/s

Número de eventos recebidos por segundo pelo adaptador.

Retomadas/s

Número de transições de estado para o estado em execução por segundo.

Suspensões/s

Número de transições de estado para o estado suspenso por segundo.

Total de eventos enfileirados

Número de eventos enfileirados.

[TOP]

Como os contadores de desempenho podem me ajudar?

Estes são alguns exemplos dos cenários em que os contadores de desempenho podem ajudar você a compreender, monitorar e solucionar problemas dos aplicativos do StreamInsight:

  • Cenários de servidor

    • Volume de memória da instância. Qual é o volume de memória existente na instância inserida do StreamInsight, separadamente do aplicativo de hospedagem?

    • Planejamento de capacidade. Quantas consultas posso executar neste servidor até que o desempenho comece a cair?

    • Análise post-mortem. Quantas consultas estavam em execução quando o servidor entrou em pane?

  • Cenários de consulta

    • Monitoramento da taxa de transferência. Onde está o afunilamento?

    • Monitorando da latência.

[TOP]

Eventos administrativos

O StreamInsight registra eventos no log de eventos de Aplicativo do Windows. Você pode revisar esse log com o Visualizador de Eventos ou outra ferramenta de monitoramento. Os eventos registrados em log ajudam você a monitorar as alterações de estado e solucionar anomalias que podem ocorrer nos aplicativos do StreamInsight.

Os eventos são registrados em log pelos seguintes objetos do StreamInsight:

  • Servidor

  • Consulta

Configurando o log administrativo

O log administrativo está ativado por padrão. Você pode desativar e ativar o log administrativo apenas no nível da instância do StreamInsight (cep:/Server/).

Como desativar o log administrativo

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects &= ~DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);

Como ativar o log administrativo

DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects |= DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);

[TOP]

Lista de eventos administrativos

A tabela a seguir lista os eventos que possivelmente aparecerão no log de eventos.

A Origem de todos os eventos administrativos do StreamInsight é o StreamInsight.

Eventos de consulta

Símbolo

ID do evento

Nível

Mensagem

Parâmetros

QueryInitializing

11001

Informação

A consulta {0} está sendo inicializada.

URI da consulta

QueryRunning

11002

Informação

A consulta {0} está em execução.

URI da consulta

QueryCheckpointing

11003

Informação

A consulta [0} está definindo o ponto de verificação.

URI da consulta

QueryStopping

11004

Informação

A consulta {0} está sendo interrompida.

URI da consulta

QuerySuspended

11005

Informação

A consulta {0} está suspensa.

URI da consulta

QueryCompleted

11006

Informação

A consulta {0} está concluída.

URI da consulta

QueryAborted

11007

Aviso

A consulta {0} foi anulada.

URI da consulta

QueryStopped

11008

Informação

A consulta {0} foi interrompida.

URI da consulta

QueryError

11500

Aviso

A consulta {0} encontrou uma exceção. Detalhes da exceção: {1}

URI da consulta, mensagem de exceção.

QueryRecoveryError

11501

Erro

A consulta {0} encontrou uma exceção durante a recuperação. Detalhes da exceção: {1}

URI da consulta, mensagem de exceção.

QueryCheckpointError

11502

Erro

A consulta {0} encontrou uma exceção durante a definição do ponto de recuperação. Detalhes da exceção: {1}

URI da consulta, mensagem de exceção.

Eventos de servidor

Símbolo

ID do evento

Nível

Mensagem

Parâmetros

ServerCreated

1000

Informação

Servidor criado.

ServerDisposed

1001

Informação

Servidor descartado.

[TOP]