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]