Não seria benéfico incluir GitHub - Strech/sidekiq-prometheus-exporter: All the basic metrics of Sidekiq with pluggable contribs prepared for Prometheus · GitHub no projeto? Por exemplo, estou sem a contagem de jobs concluídos e falhos com esse plugin, e essa é uma das métricas mais importantes para verificar se algo está falhando…
Esse projeto é totalmente independente e não é algo que integraremos.
Se estiverem faltando métricas, crie uma #feature request para adicioná-las ou inclua-as em um PR.
Infelizmente, Ruby não é meu forte, então abrir um PR parece ser um caminho árduo para mim. Posso tentar, mas haverá uma curva de aprendizado íngreme. Por outro lado, o repositório oficial mencionado acima não permite a criação de tickets, então tenho um número limitado de lugares onde posso solicitar novos recursos. Ou seja, aqui.
Portanto, estou pedindo para estender a biblioteca atual com as métricas listadas abaixo. O que, não por acaso, é a lista de métricas da biblioteca mencionada acima. Já marquei aquelas que já estão disponíveis na versão atual. As que estão em negrito parecem ser as mais óbvias para monitorar completamente o Sidekiq executando em segundo plano.
| Métrica | Tipo | Descrição | Métrica já implementada |
|---|---|---|---|
| contador | O número total de jobs processados | discourse_sidekiq_job_count | |
| sidekiq_failed_jobs_total | contador | O número total de jobs falhados | |
| gauge | O número de workers em todos os processos | discourse_sidekiq_workers | |
| gauge | O número de processos | discourse_sidekiq_processes | |
| sidekiq_busy_workers | gauge | O número de workers executando jobs | |
| gauge | O número de jobs enfileirados | discourse_sidekiq_jobs_enqueued | |
| sidekiq_scheduled_jobs | gauge | O número de jobs agendados para execução futura | |
| sidekiq_retry_jobs | gauge | O número de jobs agendados para a próxima tentativa | |
| sidekiq_dead_jobs | gauge | O número de jobs mortos | |
| sidekiq_queue_latency_seconds | gauge | O número de segundos entre o job mais antigo sendo empurrado para a fila e o momento atual (rótulos: name) | |
| sidekiq_queue_max_processing_time_seconds | gauge | O número de segundos entre o job mais antigo da fila sendo executado e o momento atual (rótulos: name) | |
| sidekiq_queue_enqueued_jobs | gauge | O número de jobs enfileirados na fila (rótulos: name) |
Por favor, corrija-me se eu tiver perdido algo ou entendido algo errado.