Problema
Estás usando New Relic Ruby APM y Unicorn juntos, pero los recuentos de métrica y evento personalizado parecen demasiado pequeños.
Solución
Haga que Unicorn llame manualmente a NewRelic::Agent.shutdown
para ejecutar los controladores de salida del agente. Algunos de los métodos de salida de Unicorn impiden que el agente se cierre como se esperaba. El siguiente cambio ejecuta el método de cierre de New Relic antes de finalizar el proceso Unicorn.
Esta solución se basa en la bifurcación de @expectedbehavior de la gema unicorn-worker-killer.
Agregue esto a su Gemfile usando:
gem 'unicorn-worker-killer', git: 'https://github.com/expectedbehavior/unicorn-worker-killer'Si ya estás usando
unicorn-worker-killer
en tu Gemfile, actualiza la referencia para usar esta bifurcación.Manojo:
bundle installActualice su configuración de unicornio para incluir:
require "unicorn/worker_killer"::Unicorn::WorkerKiller.configure do |config|config.before_kill do |signal|::NewRelic::Agent.increment_metric("Custom/UnicornWorkerBeforeKillSignal/#{signal}")::NewRelic::Agent.shutdownendendReinicia tu servidor