Performance monitoring
Event timeline
Jobs do Shoryuken aparecem na event timeline das actions de performance da sua aplicação como eventsperform_job.shoryuken.
Incident grouping
O AppSignal detecta os nomes dos jobs a partir do nome da classe do worker Shoryuken, sufixado com o nome do métodoperform, resultando em algo como MyWorker#perform. O AppSignal agrupa jobs por esse nome para performance monitoring e notificações.
Enqueue instrumentation
Enfileirar um job do Shoryuken registra um eventenqueue.shoryuken, com o título baseado no job sendo enfileirado.
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.
Suporte a batch
Se um app usa um worker com a opção:batch => true, esse worker processa várias mensagens no mesmo tick. Isso requer a gem Ruby 2.11.3 ou superior, que adiciona suporte à opção batch.
Aplicação de exemplo
Temos uma aplicação de exemplo para um app Shoryuken autônomo disponível no nosso repositório de examples no GitHub.Atributos de 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.
Distributed tracing
Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.