Lorsque vous vous préparez à migrer, passez en revue ces changements majeurs entre les séries 8.x et 9.x de l’agent Ruby. Vous découvrirez également les problèmes auxquels vous pourriez être confronté lors de la mise à niveau, ce qui garantira une migration réussie vers la version 9.x.
Résumé
Les principaux changements incluent :
- Suppression de toutes les options de configuration obsolètes
- Abandon du support pour Ruby 2.2 et 2.3
- Le traçage des threads est activé par défaut
- Suppression de l'instrumentation obsolète pour les gems
- Méthode API mise à jour
set_transaction_name
- Méthodes API obsolètes supprimées
Consultez le jalon de la version 9.0 pour plus d'informations.
Configuration obsolète supprimée
Nous avons supprimé les options de configuration suivantes, elles ne fonctionneront donc plus. Veuillez mettre à jour toutes les configurations pour utiliser les remplacements répertoriés ci-dessous et consultez notre documentation de configuration pour plus de détails.
Supprimé | Remplacement |
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Suppression du support pour Ruby 2.2 et 2.3
Ruby 2.2 et 2.3 ne sont plus pris en charge par l'agent Ruby. Pour continuer à utiliser la dernière version de l'agent Ruby, veuillez mettre à jour vers Ruby 2.4.0 ou supérieur.
New Relic continue de prendre en charge certaines anciennes versions de Ruby même après qu'elles soient sorties de la fenêtre de maintenance officiellement prise en charge fournie par l'équipe de développement du langage Ruby (équipe Ruby). Par exemple, au 31 mars 2023, la version Ruby la plus ancienne prise en charge par l'équipe Ruby sera la version 3.0, alors qu'avec la version 9.0 de l'agent Ruby, les versions Ruby 2.4 et supérieures sont toujours prises en charge. Pour plus d'informations sur le support officiel des versions Ruby par l'équipe Ruby, voir Ruby Maintenance Branches.
Le traçage des threads est activé par défaut
L'option de configuration instrumentation.thread.tracing
est désormais activée par défaut. Cette configuration permet à l'agent de monitorer le code se produisant à l'intérieur des threads. L'agent Ruby 9.0 enregistre le code instrumenté dans les threads et l'associe à la transaction en cours.
Si vous utilisez actuellement une instrumentation de thread personnalisée, cela peut être un changement radical. Les nouvelles transactions à l'intérieur des threads ne démarreront plus si une existe déjà.
Si vous utilisez l'ancienne UI, vous pouvez voir des segments nommés « # » dans vos graphiques de transactions. Lorsque vous regardez la table des segments, le nom complet est « Thread : # ». Ces segments font référence à l'instrumentation du fil. Voir le problème numéro 1859 pour plus de détails.
Suppression de l'instrumentation obsolète
Les gems instrumentées suivantes étaient auparavant obsolètes et ne sont désormais plus prises en charge :
Agit comme Solr
Authlogic
Mapper de données
Rainbows
Tache solaire
Les versions des technologies suivantes étaient auparavant obsolètes et ne sont plus prises en charge.
Passager : 2.2.x - 4.0.x
Puma : 2.0.x
Grape: 0.2.0
Padrino: 0.14.x
Rails : 3.2.x
Sinatra : 1.4.x, 1.5.x
Mongo : 1.8.x - 2.3.x
Suite : 3.37.x, 4.0.x
Delayed_Job: 2.0.x - 4.0.x
Sidekiq : 4.2.x
Excon : inférieur à 0,55,0
Client HTTP : 2.2.0 - 2.8.0
HttpRb: 0.9.9 - 2.2.1
Typhoée : 0.5.3 - 1.2.x
Bunny: 2.0.x - 2.6.x
ActiveMerchant : 1.25.0 - 1.64.x
Méthode API mise à jour set_transaction_name
Lorsque la méthode NewRelic::Agent.set_transaction_name
est appelée, elle modifiera désormais systématiquement le nom et la catégorie de la transaction en cours d'exécution en fonction de ce qui est transmis à la méthode. Il s’agit d’un changement par rapport aux versions précédentes de l’agent.
Auparavant, si set_transaction_name
était appelé avec un nouveau nom de transaction et une nouvelle catégorie qui ne correspondait pas à la catégorie déjà attribuée à une transaction, ni le nouveau nom ni la nouvelle catégorie n'étaient enregistrés dans la transaction.
Si cette méthode est appelée dans une situation où elle était auparavant ignorée en raison de différences de catégorie, cela modifiera désormais le nom et la catégorie de la transaction.
Méthode API supprimée
La méthode API obsolète NewRelic::Agent.disable_transaction_tracing
a été supprimée. Utilisez plutôt NewRelic::Agent#ignore_transaction
pour désactiver l'enregistrement de la transaction en cours ou NewRelic::Agent.disable_all_tracing
pour générer un bloc sans collecter de métriques ni de trace dans aucun des appels suivants.