Uma tarefa agendada executa automaticamente um programa ou comando de forma única ou recorrente. Quando aplicações Java dependem de tarefas agendadas para processamento de dados, atualização de cache ou limpezas periódicas, falhas e degradação de desempenho podem passar despercebidas até que os sistemas downstream sejam afetados. O Application Real-Time Monitoring Service (ARMS) detecta e monitora automaticamente tarefas XXL-JOB, SchedulerX e JDK-Timer em suas aplicações Java, fornecendo métricas de execução, mapeamento de dependências e diagnósticos no nível de trace.
O monitoramento de tarefas agendadas permite:
Acompanhar a integridade da execução, a contagem de execuções e a latência de agendamento ao longo do tempo
Localizar consultas SQL e NoSQL lentas que degradam o desempenho da tarefa
Identificar exceções Java e erros de aplicação no nível de código
Inspecionar dependências de serviços downstream e suas métricas de desempenho
Analisar traces individuais para identificar a causa raiz
Pré-requisitos
Antes de começar, verifique se você possui:
Uma aplicação Java conectada ao ARMS Application Monitoring — indicada pelo ícone
na coluna Language da página Applications. Se aparecer um hífen (-), a aplicação está conectada ao Tracing Analysis, e não ao Application MonitoringAgente do ARMS versão 2.7.1.3 ou posterior. Para atualize, consulte Como atualizo o agente do ARMS para aplicações Java?
O monitoramento de aplicações do ARMS suporta apenas os tipos de tarefa XXL-JOB, SchedulerX e JDK-Timer.
Abrir a página de monitoramento de tarefas agendadas
Faça login no console do ARMS.
No painel de navegação à esquerda, escolha Application Monitoring > Applications.
Na barra de navegação superior, selecione uma região e clique em no nome da aplicação desejada.
No painel de navegação à esquerda, clique em Timed Task.
Todas as tarefas agendadas detectadas aparecem na lista à esquerda. Clique em em uma tarefa para visualize seus dados de monitoramento.

Visão geral
A aba Overview exibe a topologia de chamadas da tarefa agendada selecionada e quatro gráficos de séries temporais. Utilize a topologia para entender de quais serviços e recursos a tarefa depende e os gráficos para identificar tendências, como aumento no tempo de execução ou crescimento no número de exceções.
|
Gráfico |
Descrição |
|
Number of execute |
Contagem de execuções por janela de tempo |
|
Average running time |
Duração média por execução |
|
Number of exceptions |
Exceções Java lançadas durante a execução |
|
Scheduling latency |
Atraso entre o horário de acionamento agendado e o início real da execução |

Análise de SQL e análise de NoSQL
As abas SQL Analysis e NoSql Analysis listam as requisições SQL e NoSQL iniciadas pela tarefa agendada selecionada. Essas abas ajudam a localizar consultas lentas que causam respostas demoradas em uma API.

Para cada instrução na lista:
Clique em em Invocation Statistics na coluna Actions para visualize um gráfico de série temporal com estatísticas de chamadas.
Clique em em Invocation Trace Query na coluna Actions para visualize os traces dessa instrução. Para mais detalhes, consulte Visualizar traces.
Análise de exceções
A aba Exception Analysis lista as exceções Java lançadas pelo código da tarefa agendada. Use esta aba para identificar problemas recorrentes no nível de código que coincidem com falhas na tarefa.
Para cada exceção:
Clique em em Invocation Statistics na coluna Actions para visualize um gráfico de série temporal mostrando a frequência da exceção.
Clique em em Invocation Trace Query na coluna Actions para visualize os traces associados. Para mais detalhes, consulte Visualizar traces.
Análise de erros
A aba Error Analysis apresenta estatísticas de erros da tarefa agendada. Esta aba permite correlacionar erros no nível da aplicação com dados específicos de traces e logs.

Para cada erro na lista:
Clique em no ID do trace na coluna TraceId para abrir os detalhes do trace. Para mais informações, consulte Consulta de traces.
Clique em em View Logs na coluna Actions para visualize os logs de erro associados.
Serviços downstream
A aba Downstream Services mostra todos os serviços chamados pela aplicação. Utilize esta aba para determinar se uma dependência com falha ou lenta está afetando o desempenho da tarefa.
Cada entrada de serviço inclui três métricas de desempenho:
|
Métrica |
Descrição |
|
Response time |
Latência da requisição |
|
Number of requests |
Contagem de requisições |
|
Number of errors |
Contagem de erros |
Para navegar pela lista:
Clique em em Expand/Collapse All para mostrar ou ocultar todos os detalhes de API simultaneamente.
Insira o nome de uma aplicação ou API na caixa de pesquisa e clique em no ícone Search para filtrar os resultados.
Clique em no painel recolhível ou no ícone de seta ao final de uma linha para mostrar ou ocultar as métricas de desempenho de uma API específica.
Visualizar traces
A aba Interface Snapshot oferece visibilidade no nível de trace para execuções individuais de tarefas. Ela contém dois gráficos e uma tabela de detalhes.

Gráfico total de snapshots
Exibe o número de traces normais e lentos ao longo do tempo. Um trace é classificado como lento quando seu tempo de resposta excede 500 milissegundos. Esse limiar é controlado pelo parâmetro Interface Response Time Threshold nas configurações da sua aplicação.
As contagens de traces lentos não incluem sub-traces gerados por chamadas assíncronas para APIs on-premises.
Gráfico de tempo de resposta do snapshot
Mostra a tendência dos tempos de resposta ao longo do tempo. Este gráfico baseia-se em dados de trace amostrados e é afetado pela taxa de amostragem configurada para sua aplicação.
Tabela de detalhes do trace
Lista traces individuais com metadados. Clique em em um valor na coluna TraceId para abrir a visualização completa do trace. Para mais informações, consulte Detalhes do trace.
Clique em em View Logs na coluna Actions para visualize os logs associados a um trace específico.
Para correlacionar traces com os logs da sua aplicação, associe IDs de trace aos logs de negócio. Isso permite acesso direto aos logs relevantes durante a solução de problemas de erros. Para instruções de configuração, consulte Associar IDs de trace a logs de negócio.
Solucionar problemas de tarefas agendadas
Quando uma tarefa agendada apresentar comportamento inesperado, siga esta abordagem para restringir progressivamente a causa raiz:
Verifique anomalias na visão geral. Comece pela aba Overview. Analise os gráficos de séries temporais em busca de picos na latência de agendamento, aumento na contagem de exceções ou tempos de execução acima do normal.
Investigue consultas lentas. Se o problema envolver execução lenta, acesse SQL Analysis ou NoSql Analysis para encontrar consultas de banco de dados lentas que possam estar bloqueando a tarefa.
Revise as exceções. Verifique a aba Exception Analysis em busca de exceções Java que coincidam com a anomalia.
Verifique erros da aplicação. Revise a aba Error Analysis para identificar erros no nível da aplicação e navegue até os traces e logs associados.
Examine as dependências. Abra a aba Downstream Services para determinar se alguma dependência está lenta ou retornando erros.
Rastreie até a causa raiz. Use a aba Interface Snapshot para examinar traces individuais e identificar o span exato onde ocorre o gargalo ou a falha.