Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Índice
maxLevel4
outlinetrue
exclude.*ndice
stylenone

...

Objetivo

Problemas de lentidão no fluig podem acontecer por diversos motivos, englobamos nesta FAQ algumas formas para identificar e analisar as formas de detectar as possíveis causas de lentidão.

...

Para realizar esta análise, deve-se utilizar as ferramentas de rede do navegador, conforme descrito no item Análise Inicial.

 

Aviso
titleNão se esqueça!

Devemos também, como análise inicial, verificar se o dimensionamento do ambiente do usuário está de acordo com

as

as especificações do fluig.

 

 

Cenários comuns

Dentro da nossa experiência de atendimento à diversos clientes, identificamos alguns cenários como os mais comuns quando relacionados à lentidão do fluig. Abaixo, temos a descrição de cada um deles, bem como as medidas normalmente utilizadas para identificar os fatores que levam a percepção de lentidão.

 

Na página inicial

...


Na tela de inicialização de processos

Normalmente identificamos que a percepção de lentidão nesta tela ocorre devido aos mecanismos de atribuição relacionados às atividades iniciais dos processos. Como o fluig precisa resolver cada um dos mecanismos para então exibir a lista dos processos aos quais o usuário possui permissão para iniciar, pode haver lentidão neste ponto.


Na abertura da tela de movimentação de processo 

Nesta tela, quando o processo está sendo aberto para que usuário possa preencher o formulário, anexar arquivos, etc., normalmente iniciamos a avaliação pelo tempo de execução das requisições através do console do navegador para identificar quais recursos estão demorando para responder. Assim, podemos identificar se o motivo da percepção de lentidão são recursos externos, como bibliotecas javascript utilizadas no formulário, ou requisições internas do próprio fluig. 

Caso identificado que são requisições internas, passamos a avaliar o log do servidor em busca da execução de customizações como eventos de processos do tipo before e de eventos de formulário (displayFields, enableFields, etc.), consultas à dataset e/ou consultas a serviços externos. Caso a lentidão seja causada pela execução de eventos, sugerimos a revisão dos mesmos para reduzir ao máximo o processamento necessário para execução. Caso a lentidão seja em consultas à datasets, podemos avaliar se o dataset em questão foi desenvolvido utilizando as boas práticas e também recursos como a sincronização de datasets.

 

Na movimentação de processo

Quando temos situações onde o envio da solicitação está levando muito tempo, procedemos com uma análise bastante parecida com a analise descrita no item acima porém agora, devemos avaliar eventos de processos do tipo after e de eventos de validação de formulários (validateForm, etc.). Em muitos casos, na movimentação de solicitações são utilizadas integrações com aplicativos externos que podem causar a percepção de lentidão para o usuário. Para estes casos, recomendamos a utilização da Atividade de Serviço. Mais informações sobre esta atividade e exemplo de utilização estão disponíveis no guia Integração assíncrona via processos workflow.

 

Informações
titlePara saber mais

Desenvolvimento de dataset

Sincronização de datasets

Desenvolvimento de processos

Desenvolvimento de formulários

Integração assíncrona via processo

Desenvolvimento de eventos

Desenvolvimento de widgets

 

Ferramentas para análise do server.log:

Ferramentas Glogg e Baretail:
Ativação  do controle de log por usuário: 
Compreendendo as mensagens de log para processos:
JSChronos - Customizações

Analisando o log do fluig

Para analisar o log estático, recomendamos o uso de uma ferramenta de texto inteligente, como o Notepad++ ou o SublimeText. Para acompanhar em tempo real, podem ser utilizadas ferramentas como o BareTail e o glogg.
Na página Mensagens de log para processos, temos que o objetivo deste guia é auxiliar o suporte e desenvolvedores da plataforma a ativar e compreender um novo conjunto de mensagens de log que trazem informações relevantes a solicitação Workflow durante as fases de abertura e movimentação passando por eventos de processo e Datasets que venham a ser consultados dentro desses eventos. Os tópicos a seguir irão demostrar como ativar essas mensagens e farão uma breve descrição de todos os campos retornados. Desta forma, é muito importante que os desenvolvedores conheçam essas mensagens para que possam entender melhor como o fluig trata e responde a erros durante a execução de processos e customizações.
Outra ferramenta bastante importante é a avaliação dos tempos de execução através da classe JSChronos. Basta procurar por "[com.totvs.technology.foundation.common.JSChronos]" no log do servidor

Para avaliar os tempos das customizações é necessário a analise do log.
Fluig > Analise inicial > log1.png

Procure pela String "JSChronos" no server.log
. Todos os pontos de customização
dos clientes
são logados com a informação do tempo de execução, conforme exemplo abaixo.

 

Bloco de código
languagetext
titleExemplo de execução de customizações
11:13:01,280 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads - 95) CustomizationManagerImpl.invokeFunction.validateForm executou por 1 segundo

 

Bloco de código
languagetext
titleExemplo de execução de dataset
11:02:22,499 INFO [com.totvs.technology.foundation.common.JSChronos] (http-pool-threads - 77) DatasetFactory.getDataset.dsCargosSalariosAtv executou por 1 segundo

 

 

Informações
titleNota

Caso queira monitorar trechos específicos de código, é possível utilizar esta mesma funcção, seguindo o guia disponível em Criando uma métrica de tempo de execução.

 

Ativação do log por usuário

Esta é uma ferramenta disponibilizada no fluig a partir da versão 1.5.8 pois,  conforme o release notes da funcionalidade, quanto maior o uso da plataforma, mais informações são registradas em seu log, o que torna difícil saber qual usuário efetuou a ação que acarretou em um erro. Por isso, agora quando um usuário relatar que está com problemas e você está com dúvidas do que está acontecendo, ative essa nova opção e acompanhe todas as informações que vão te auxiliar a fazer o diagnóstico de situações que estejam prejudicando o uso da plataforma para esse usuário. Para conferir, acesse Painel de Controle > Gerais > Controle de log. 

O guia completo de ativação e utilização da funcionalidade está disponível na página Controle de log por usuário.