El agente Ruby instrumentó automáticamente los middlewares de Rack . Si no está familiarizado con los conceptos básicos de los middlewares de Rack, revise los recursos vinculados en la guía Rails on Rack. Además, el agente Ruby proporciona algunas características a través del middleware Rack:
instrumentación automática para
New Relic instala automáticamente estos middlewares para Rails y Sinatra.
Instrumentación en rack
Las dos formas más comunes de configurar middlewares de Rack son la API Rack::Builder
(más a menudo de config.ru) y la configuración stack de middleware de Rails:
Ver datos de middleware
Puede ver datos de middleware en APM.
Deshabilitar la instrumentación del rack
Si no desea utilizar middlewares de Rack, puede desactivar la instrumentación de middleware de Rack con la configuración disable_middleware_instrumentation
. También puedes ignorar transacciones específicas.
Instalación manual del middleware del agente Ruby
La implementación del agente Ruby de la característica de rastreo multiaplicación de New Relic utiliza instrumentación de middleware Rack para leer y escribir encabezados HTTP que son necesarios para pasar información entre aplicaciones de monitor. Si está utilizando Sinatra, ha deshabilitado la instrumentación de middleware como se describe anteriormente y desea utilizar el seguimiento de múltiples aplicaciones, debe agregar manualmente el middleware NewRelic::Rack::AgentHooks
a su stack de middleware.
Importante
A partir de la versión 8.0.0, el rastreo de múltiples aplicaciones está obsoleto en favor de rastreo distribuido. Cuando está habilitado, rastreo distribuido se configura automáticamente para todas las aplicaciones basadas en rack sin necesidad de middleware adicional.
Si desea continuar utilizando el rastreo multiaplicación, deberá actualizar su configuración.
Instrumentación manual en rack
Las versiones anteriores del agente Ruby admitían middlewares Rack instrumentados manualmente a través del módulo NewRelic::Agent::Instrumentation::Rack
. Esta instrumentación se eliminó y no se garantiza que funcione en la versión 4.0.0 o superior del agente Ruby. Esta forma de instrumentación manual es innecesaria con la instrumentación automática de middleware. Le recomendamos que elimine las referencias a este módulo de su código después de actualizar a 3.9.0 o superior.