Important
Depuis la version 8.0.0 de l'agent Ruby , le tracing distribué est activé par défaut. Le tracing distribué améliore le tracing inter-applications et est recommandé pour les grands systÚmes distribués.
Le tracing inter-applications est obsolÚte au profit du tracing distribué et sera supprimé dans une future version de l'agent. Si vous devez continuer à utiliser le tracing inter-applications, par exemple pour un framework middleware non standard, consultez les informationsconfiguration dans ce document.
Exigences
Suivez ces exigences pour utiliser le traçage inter-applications avec lâagent Ruby :
- Assurez-vous que les requests instrumentées utilisent une bibliothÚque client HTTP prise en charge.
- Installez ou mettez à jour vers la derniÚre version de l'agent Ruby (version 3.5.5.38 ou supérieure).
- Suivez les exigences pour lâinstallation du middleware.
Installation du middleware
Le traçage inter-applications fonctionne avec Rack et nécessite donc Rails 2.3 ou supérieur, ou un autre framework compatible.
- Si vous utilisez Rails, l'agent Ruby installera automatiquement le middleware.
- Si vous utilisez un autre framework basé sur Rack, ajoutez manuellement le middleware
NewRelic::Rack::AgentHooksĂ votre stack.
Configuration
Le traçage inter-applications peut ĂȘtre contrĂŽlĂ© par un indicateur de configuration. Ă partir de la version 8.0.0 de l'agent Ruby, la valeur par dĂ©faut de cross_application_tracer.enabled est false, mĂȘme lorsqu'elle n'est pas spĂ©cifiĂ©e. Pour activer le traçage inter-applications, vous devez dĂ©finir cet indicateur sur true et dĂ©finir distributed_tracing.enabled sur false.
cross_application_tracer: enabled: truedistributed_tracing: enabled: falsePour les versions infĂ©rieures Ă 8.0.0, les inter-applications peuvent ĂȘtre configurĂ©es Ă l'aide du paramĂštre suivant.
cross_application_tracer: enabled: truemesures trace inter-applications
La mesure external (de l'application appelante) sera toujours plus grande que la mesure internal (de l'application appelée). La mesure externe est collectée par l'instrumentation de la bibliothÚque client HTTP de New Relic (comme Net::HTTP). La mesure interne est prise par l'instrumentation de New Relic du framework Web (comme Rails) dans l'application appelée.
Voici quelques-uns des principaux composants inclus dans la mesure externe qui ne sont pas inclus dans la mesure interne :
Certains de ces composants sont plus faciles Ă contrĂŽler que dâautres. Par exemple, pour capturer les timings des Ă©lĂ©ments Receiving host ci-dessus, assurez-vous que monitoringde la file d'attente des demandes est configurĂ©e sur l'application rĂ©ceptrice.
Obtenir la distribution du tracing
Depuis la version 8.0.0 de l'agent Ruby , le tracing distribué est activé par défaut. Le tracing distribué est une amélioration du tracing inter-applications et est recommandé pour les grands systÚmes distribués.