L'agent Ruby instrumente automatiquement les middlewares Rack . Si vous n'êtes pas familier avec les bases des middlewares Rack, consultez les ressources liées au guide Rails on Rack. De plus, l'agent Ruby fournit certaines fonctionnalités via les middlewares Rack :
- traces distribuées
- auto-instrumentation pour
New Relic installe automatiquement ces middlewares pour Rails et Sinatra.
Rack instrumentation
Les deux manières les plus courantes de configurer Rack les middlewares sont Rack::Builder
l'API (le plus souvent à partir config.ru de) et Rails middleware stack configuration:
Affichage des données du middleware
Vous pouvez afficher les données du middleware dans APM.
Désactiver Rack instrumentation
Si vous ne souhaitez pas instrumenter Rack les middlewares , vous pouvez désactiver Rack des middlewares instrumentation avec le paramètre disable_middleware_instrumentation
. Vous pouvez également ignorer des transactions spécifiques.
Installation manuelle des intergiciels d'agent Ruby
Ruby L'implémentation de l'agent de la fonctionnalité de traçage inter-applications de New Relic utilise Rack middleware instrumentation pour lire et écrire les en-têtes HTTP nécessaires pour transmettre des informations entre les applications de monitoring. Si vous utilisez Sinatra, avez désactivé instrumentation middleware comme décrit ci-dessus et souhaitez utiliser le traçage inter-applications, vous devez ajouter manuellement le middleware NewRelic::Rack::AgentHooks
à votre stack middleware.
Important
À partir de la version 8.0.0, le tracing inter-applications est obsolète au profit du tracing distribué. Lorsque cette option est activée, le tracing distribué est automatiquement configuré pour toutes les applications basées sur un rack sans nécessiter de middleware supplémentaire.
Si vous souhaitez continuer à utiliser le traçage inter-applications, vous devrez mettre à jour votre configuration.
manuelle Rack instrumentation
Les versions antérieures de l'agent Ruby prenaient en charge les middlewares Rack instrumentés manuellement via le module NewRelic::Agent::Instrumentation::Rack
. Cette instrumentation a été supprimée et son fonctionnement n'est pas garanti dans la version 4.0.0 ou supérieure de l'agent Ruby. Cette forme d'instrumentation manuelle est inutile avec l'instrumentation middleware automatique. Nous vous recommandons de supprimer les références à ce module de votre code après la mise à niveau vers la version 3.9.0 ou supérieure.