Adapters suportados
A integração do Active Job suporta todos os adapters do Active Job. Ela também pode oferecer suporte para adapters não listados naquela página, que são acessíveis através de uma gem separada. No entanto, observe que esses adapters não foram testados. Adapters sem uma integração dedicada do AppSignal são monitorados através da instrumentation do Active Job, como o GoodJob.Integração com bibliotecas suportadas pelo AppSignal
As seguintes bibliotecas de background jobs que o AppSignal suporta são automaticamente integradas com o Active Job, permitindo que o AppSignal te dê insights de desempenho mais aprofundados:Reportar erros no descarte do job
Defina a opção de configuraçãoactivejob_report_errors como discard para reportar erros apenas quando um job for descartado. Quando um job é descartado, todas as tentativas de retry do job foram esgotadas e o job não é mais reprocessado. Leia a documentação do Active Job para saber mais sobre tratamento de exceptions do Active Job e retries de jobs com falha.
Enqueue instrumentation
Enfileirar um job através do Active Job registra um eventenqueue.active_job, com o título baseado no job sendo enfileirado. Quando um job é enfileirado através de um adapter que o AppSignal também instrumenta, como Sidekiq ou Resque, o AppSignal suprime o event de enqueue do próprio adapter e registra o enqueue apenas uma vez como o event do Active Job.
O AppSignal registra events de enqueue na event timeline da transaction ativa, por exemplo, quando você enfileira um job a partir de uma requisição web ou de dentro de outro job. Ele só registra esses events quando uma transaction está ativa, então enfileirar um job fora de uma transaction não registra nada.
Para parar de registrar events de enqueue em todas as integrações de background job, defina a opção de configuração enable_job_enqueue_instrumentation como false. Isso não afeta a instrumentação dos jobs em si.
Metadados
O AppSignal coleta os seguintes metadados para jobs do Active Job:
*A partir do Rails versão 6, queue times são reportados para o namespace de onde são reportados e podem ser visualizados nos Gráficos de Performance do AppSignal.
O AppSignal usa os metadados do Active Job para te dar insights contextuais mais profundos sobre o desempenho do job. Ao inspecionar traces do Active Job no AppSignal:
- O Job name será usado para agrupar o job para incidents do AppSignal:

- Os metadados (exceto job name e events) estarão disponíveis como tags filtráveis nos traces de incident:

- Eventos
*.active_jobserão mostrados na timeline de eventos para traces de desempenho:

Intelligence dashboard
Quando o AppSignal recebe métricas do Active Job, ele cria um Intelligence dashboard do Active Job, disponível na seção de dashboards do app do AppSignal. O Intelligence dashboard do Active Job terá os seguintes gráficos:
As tags fornecem um detalhamento contextual de informações de desempenho do Active Job. Atualmente, o AppSignal reporta as seguintes tags para jobs do Active Job:
Cada tag será representada com uma linha colorida no gráfico:

Gráfico Duration per job class
O gráfico Duration per job class mostra a quantidade de tempo que os jobs levaram para executar, agrupados pela classe que define o job. Você pode usar este gráfico para monitorar o desempenho dos jobs, por classe, dando uma visão geral do desempenho dos jobs e permitindo identificar e investigar rapidamente picos no tempo de duração.Gráfico Job status per queue
O gráfico Job status per queue with priority mostra o número de jobs que foram executados, agrupados pelo status resultante, pela fila em que foram enfileirados. Você pode usar este gráfico para monitorar contagens de erros e desempenho de jobs com base na fila, identificar gargalos e otimizar seus background jobs para escalabilidade.Gráfico Job status per queue with priority
O gráfico Job status per queue with priority mostra o número de jobs que foram executados, agrupados pelo status resultante, pela fila em que foram enfileirados e pela prioridade que lhes foi atribuída. Você pode usar este gráfico para monitorar contagens de erros e desempenho de jobs com base em fila e prioridade, identificar gargalos e otimizar seus background jobs para escalabilidade.Gráfico Throughput per job class
O gráfico Throughput per job class mostra a quantidade de jobs que foram executados, agrupados pela classe que define o job. Você pode usar este gráfico para monitorar quantos jobs são executados, agrupados pela classe que define o job.Atributos do span
Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.
messaging.system— a biblioteca de filas.messaging.destination.name— a fila na qual o job foi colocado.messaging.operation.type— se o span é o enqueue ou a execução do job.
error.type, a classe do erro.
Tracing distribuído
Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.