Estendendo a biblioteca atual com métricas extras

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…

2 curtidas

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
sidekiq_processed_jobs_total contador O número total de jobs processados discourse_sidekiq_job_count
sidekiq_failed_jobs_total contador O número total de jobs falhados
sidekiq_workers gauge O número de workers em todos os processos discourse_sidekiq_workers
sidekiq_processes gauge O número de processos discourse_sidekiq_processes
sidekiq_busy_workers gauge O número de workers executando jobs
sidekiq_enqueued_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.

1 curtida