Pular para o conteúdo principal
O pacote AppSignal for Elixir instrumenta jobs executados por workers do Oban e coleta métricas sobre o desempenho dos seus jobs. Oban é um sistema de fila e processamento de jobs para Elixir, baseado em PostgreSQL e Ecto. Você pode usar o Oban para agendar jobs para serem executados em segundo plano.

Instrumentação automática

O suporte ao Oban é instrumentado automaticamente, sem necessidade de configuração. Para desabilitar a instrumentação do Oban, defina a opção de configuração instrument_oban como false.
🔎 A opção de configuração instrument_oban foi adicionada na versão 2.5.1 da integração AppSignal for Elixir.

Relatório de erros

Por padrão, a instrumentação do Oban criará uma amostra de erro sempre que um dos seus workers falhar ao processar um job, seja retornando uma tupla {:error, _} ou lançando uma exceção. Se você quiser enviar erros para o AppSignal apenas quando a falha causar o descarte do job, ou seja, quando ele atingir o número máximo de tentativas, defina a opção de configuração report_oban_errors como "discard". Defina-a como "none" para nunca enviar erros de jobs do Oban para o AppSignal.
A opção de configuração report_oban_errors foi adicionada na versão 2.5.1 da integração AppSignal for Elixir.Se estiver usando o Oban versão 2.3.1 ou inferior, a informação sobre o estado do job não está disponível, e a opção "discard" se comportará como "all".

Amostras de desempenho e erro

O AppSignal criará amostras de desempenho a partir dos jobs executados pelos seus workers do Oban: Amostra de desempenho de uma execução de job do Oban Ele também notificará erros que causam falhas nos seus workers ao processar um job: Amostra de erro de uma execução de job do Oban Dentro das amostras de desempenho e de erro, as tags conterão informações sobre o job:
  • ID do job, queue, worker e priority
  • Número de tentativas anteriores
  • Estado e resultado do job após a execução
Quaisquer tags ou valores de metadados adicionados ao job também estarão presentes como tags na amostra, permitindo que você filtre as amostras por uma tag específica. Você também poderá ver quando um job do Oban é inserido na timeline de eventos das amostras de desempenho da sua aplicação: Timeline de eventos mostrando uma inserção de job do Oban
🔎 Alguns recursos só estão disponíveis em certas versões do Oban:
  • 2.1.0+: Tags
  • 2.3.1+: Valores de metadata e priority do job
  • 2.4.0+: Estado do job após a execução
  • 2.5.0+: Resultado do job após a execução
  • 2.11.0+: Evento de inserção de job
Para usar todos os recursos descritos acima, atualize para a versão mais recente do Oban.

Métricas

Além das amostras de desempenho e erro, o AppSignal for Elixir coletará métricas sobre o desempenho dos seus jobs do Oban:
  • oban_job_duration: a duração dos jobs processados, tagueada pelo worker, queue e status do job.
  • oban_job_queue_time: o tempo gasto pelos jobs aguardando na queue, tagueado por queue.
  • oban_job_count: a quantidade de jobs processados, tagueada pelo worker, queue e status do job.
Usando essas métricas, o AppSignal criará automaticamente o magic dashboard do Oban, que fornece insights-chave sobre o desempenho do seu sistema Oban: Magic dashboard mostrando métricas-chave do Oban