Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como habilitar e gerar o LogProfiler incluindo o log?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - A partir da Versão 12.17.
Solução
How To | MP - SIGAEST - MATA330 - Coletar o Logprofiler e Dbtrace #TOTVS_Backoffice_linha_Protheus https://youtu.be/pocbYGWH6ys
Habilitando o LOGPROFILER
Vamos iniciar abrindo o arquivo de configuração de seus servidores, mais conhecido como appserver.ini
Para ativar o LogProfiler é necessário adicionar a cláusula "LogProfiler=1", dentro do appserver.ini, no ambiente em que deseja monitorar.
Pontos a observar:
- Quando habilitamos o LogProfiler é gerada uma pequena queda de performance no ambiente (environment), por isso, recomendamos que habilite em um "Aplication Server (Appserver)" exclusivo para o teste (separado dos demais serviços utilizados em seu ambiente de produção). Obs: Caso a rotina em questão esteja processando um grande volume de dados, há como opção configurar filtros da rotina para reduzir esse volume, de modo a viabilizar o processamento e geração dos logs.
- Recomenda-se que seja criada a chave ConsoleMaxsize com 100000 no appserver.ini, vide ConsoleMaxSize, reduzindo o risco do logprofiler ficar incompleto.
- A extração do Log via <SHIFT>+<F6> contempla apenas a thread corrente. Quando a rotina faz uso de varias threads é possível obter os dados somente através do console.log/console.bak que são gravados a partir da configuração da chave LogProfiler=1 no appserver.ini conforme instruído neste material.
Exemplo de como habilitar |
[SEU AMBIENTE] LOGPROFILER=1 (Deve-se habilitar o log no ambiente)
[Drivers]
[TCP]
[General]
|
Quando habilitamos o CONSOLELOG=1 os arquivos console.log e console.bak serão gravados com os dados de processamento.
Obs: Os arquivos são habitualmente gravados dentro da pasta \System, porém a cláusula "ConsoleFile" documentada no appserver.ini permite alterar o local de gravação, bem como, seu nome físico.
Atente-se a esta configuração para localizar devidamente os arquivos gerados.
Exemplo |
[General] |
Executando a Rotina com o LogProfile
Lembre-se: Antes de executar a rotina que será monitorada é necessário limpar os arquivos de console.log e console.bak.
Não é possível limpar os arquivos se os serviços do appserver.exe estiverem em execução, por isso, pare os serviços e limpe os arquivos. (Antes de parar os serviços, verifique se existem usuários conectados no sistema, para que não haja perda nos trabalhos em andamento)
1. Abra o SmartClient
2. Execute a rotina desejada.
3. Após Finalizar o processamento, feche o Smartclient.
Este passo é importantíssimo, pois o Log somente será gerado quando você fechar por completo a rotina e o Smartclient.
4. Sempre verifique dentro dos arquivos console.log e console.bak
Se o logprofiler foi executado e gerado com sucesso, antes de encaminhar o arquivo para analise da equipe de Suporte Técnico, segue um exemplo com a estrutura do profiler gerado.
Veja abaixo como identificar se o LogProfiler foi gerado corretamente dentro dos arquivos de console:
Veja abaixo como identificar a rotina que foi monitorada pelo LogProfiler:
Observações:
- O LogProfiler não consegue enxergar processamento realizados por Stored Procedures, por este motivo antes de habilitar o monitoramento verifique se a rotina em questão possui Procedures.
- O LogProfiler é gerado dentro dos arquivos Console.log e Console.bak (caso tenha em seu ambiente)
- Para utilização, é necessário habilitar o ConsoleLog=1 na sessão General do arquivo appserver.ini.
Saiba mais:
FAT0100 Habilitar e gerar o LogProfiler para avaliação de desempenho (rotinas ADVPL)
Clique aqui e veja mais artigos sobre Cadastros e Configurações Gerais no Estoque
0 Comentários