Foi disponibilizado em nossos
ambientes uma aplicação para monitoramento de transações e chamadas ao
Contexto, visando melhorar a detecção de bugs, performance de SQL, operações
longas e situações similares.
A aplicação monitora qualquer chamada
que passe pelo Contexto do sistema como execução de instruções SQL (DML/DDL),
operações que envolvam transações ou mesmo as que requisitam algum dado
contido/mantido pelo Contexto. O monitoramento é feito por servidor de
aplicação e independente do número de bancos que estejam sendo acessados
simultaneamente.
Funcionamento
Abrir a aplicação
“AppSI/Ferramentas_SI/ContextLogAnalizer.exe” diretamente no servidor
de aplicações com usuário Administrador da máquina.
· Ativar/Desativar
Contexto: Permite preparar o Contexto para rastreamento de qualquer chamada.
· Ativar/Desativar
Log: Quando ativo monitora todas as chamadas feitas e as armazena em
memória no pacote “pkContextLogAnalizer” até que seja feito o flush das
operações.
ATENÇÃO! O ativamento do Contexto e do Log só deverão ser utilizados para análise de problemas, otimização ou situação similar. Essa funcionalidade deve ficar INATIVA no ambiente de produção quando os dados coletados não estiverem sendo monitorados.
Ao ativar o Log todas as operações
passadas pelo Contexto do servidor são armazenadas (independe do banco de dados
que esteja em uso por cada conexão). As conexões que já estejam em uso poderão
ser vistas na guia de Conexões. Essa guia é atualizada automaticamente enquanto
o Log está ativo.
Clicando em cada conexão serão
mostrados os detalhes da mesma e um resumo do que está sendo executado
(enquanto ativa). Caso a conexão já esteja disponível (ociosa) será exibido o
resumo da última execução. Para detalhar cada chamada deve-se utilizar a guia
“Pilha de Chamadas”.
Na guia Pilha
de Chamadas ficam as informações detalhadas de cada operação. Essas informações
ficam em memória no servidor de aplicações e são renovadas/sobrescritas a cada
10min. Clicando em “Atualizar” é possível visualizar o que está em execução
atualmente ou o que já foi executado nos últimos 10min. As informações contidas
nessa guia não são atualizadas automaticamente permitindo que o usuário
trabalhe com os dados e faça a atualização apenas quando achar necessário.
Exemplos de Informações que podem ser
coletadas pela aplicação
· Operações
executadas por cada chamada à camada servidora das aplicações
· Tempo gasto em cada
conexão, chamada ou metaquery executada
· Conexões ativas e
em transação
· Objetos ativos/em
execução no COM+
· SQL executados com
valores de cada parâmetro
· Exceções geradas
durante as chamadas
· Nº de Transações
iniciadas/comitadas
· Dados de cada
conexão/chamada como usuário/IP e aplicação de origem
· Pilha ordenada de
execuções em cada chamada
Dados que são coletados durante o
monitoramento
Por conexão ativada: Usuário do Banco,
Nº da Conexão, Usuário, Aplicação, IP do Usuário, Alias do Banco, Hora Inicial,
Hora Final, Tempo de uso, Em Transação.
Por evento executado: Nº da Conexão,
Alias do Banco, Método, Nome da Query, Aplicação Servidora, Hora Inicial, Hora
Final, Tempo de Execução, ID da Aplicação, ID do Usuário, SQL executado,
Parâmetros do SQL, Nº da Chamada, Classe de Exceção, Mensagem de Exceção.
Por pacote ativado: Aplicativo, PID,
Programa, Objetos, Ativados, Em Chamada, Tempo de Chamada.
Outras informações e cruzamentos de dados poderão ser adicionados
futuramente conforme a necessidade. Qualquer dúvida entre em contato conosco..
Nenhum comentário:
Postar um comentário