Ce guide couvre les changements majeurs entre les séries 9.x et 10.x de l'agent Ruby et comment réussir la migration.
Résumé
Les principaux changements de la version 10.0 incluent :
- Suppression de la prise en charge de Ruby 2.4 et 2.5
- Suppression du suivi inter-applications (CAT) et des API associées
- Suppression de la prise en charge de l'enregistrement des déploiements via l'agent
- Suppression de
NewRelic::Agent::SqlSampler#notice_sqlet simplification des APINewRelic::Agent::Datastores - Suppression de la prise en charge des versions de Puma '<' 3.9.0
- Suppression de la fonctionnalité expérimentale Configurable Security Policies (CSP)
- Métriques et segments ActiveJob renommés
- Commande
bin/newrelicrenommée enbin/newrelic_rpm
Consultez le jalon pour la version 10.0 pour plus d'informations.
Parallèlement à ces changements importants, plusieurs autres améliorations ont été apportées. Consultez le CHANGELOG pour plus de détails.
Suppression de la prise en charge de Ruby 2.4 et 2.5
Ruby 2.4 et 2.5 ne sont plus pris en charge par l'agent Ruby. Pour continuer à utiliser la dernière version de l'agent Ruby, veuillez effectuer la mise à jour vers Ruby 2.6.0 ou une version ultérieure.
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. Par exemple, au 31 mars 2026, la plus ancienne version de Ruby prise en charge par l'équipe Ruby sera la version 3.3, tandis qu'avec la version 10.0 de l'agent Ruby, les versions 2.6 et supérieures de Ruby sont toujours prises en charge. Pour plus d'informations sur la prise en charge officielle des versions de Ruby par l'équipe Ruby, consultez Branches de maintenance Ruby.
Suppression du suivi inter-applications (CAT) et des API associées
Le suivi inter-applications (CAT) a été supprimé au profit du suivi distribué. CAT utilisait des en-têtes spécifiques à New Relic pour lier les transactions entre les applications monitorées par APM, tandis que le suivi distribué adopte le contexte de trace W3C.a Pour activer le suivi distribué, définissez l'option de configuration distributed_tracing.enabled sur true.
distributed_tracing.enabled: trueL'option de configuration cross_application_tracer.enabled a été supprimée ainsi que les méthodes d'API publiques suivantes :
| API CAT supprimée | Remplacement du suivi distribué | Contexte |
|---|---|---|
NewRelic::Agent::External.process_request_metadata | NewRelic::Agent::DistributedTracing.accept_distributed_trace_headers | Lit les en-têtes de contexte de trace W3C à partir d'une requête entrante pour lier le service à la trace en amont. |
NewRelic::Agent::External.get_response_metadata | Aucun équivalent requis | Les métadonnées de réponse sont obsolètes ; la liaison est gérée par les en-têtes W3C dans la requête. |
NewRelic::Agent::Transaction::ExternalRequestSegment#process_response_metadata | Aucun équivalent requis | Le traitement basé sur la réponse est supprimé au profit de la propagation de l'en-tête de requête. |
NewRelic::Agent::Transaction::ExternalRequestSegment#get_request_metadata | NewRelic::Agent::DistributedTracing.insert_distributed_trace_headers | Crée et ajoute des en-têtes de contexte de trace W3C à l'en-tête de la requête sortante. |
NewRelic::Agent::Transaction::ExternalRequestSegment#read_response_headers | Aucun équivalent requis | La liaison de trace ne nécessite pas la lecture des en-têtes de réponse. |
Apprenez-en davantage sur l'utilisation des API de suivi distribué.
Suppression de la prise en charge de l'enregistrement des déploiements via l'agent
L'agent ne prend plus en charge la possibilité d'envoyer des informations de déploiement d'application à l'aide d'une recette Capistrano ou de la commande CLI newrelic deployments. Pour suivre les changements et les déploiements dans New Relic, veuillez consulter notre guide sur le Suivi des changements pour une liste des options disponibles.
Suppression de NewRelic::Agent::SqlSampler#notice_sql et simplification NewRelic::Agent::Datastores
Suppression de la méthode NewRelic::Agent::SqlSampler#notice_sql
La méthode NewRelic::Agent::SqlSampler#notice_sql a été supprimée. Pour suivre les requêtes SQL, vous devez utiliser la méthode NewRelic::Agent::Datastores.notice_sql à la place.
Suppression des arguments inutilisés de diverses API NewRelic::Agent::Datastores
Plusieurs API NewRelic::Agent::Datastores ont été simplifiées en supprimant les arguments redondants. Les informations de chronométrage (elapsed) et de portée des métriques sont automatiquement dérivées du segment actuel.
Les API suivantes ont été mises à jour :
| Ancienne API | Nouvelle API | Changement |
|---|---|---|
NewRelic::Agent::Datastores.notice_sql(query, scoped_metric, elapsed) | NewRelic::Agent::Datastores.notice_sql(query) | Suppression des arguments scoped_metric et elapsed. |
NewRelic::Agent::Datastores.notice_statement(statement, elapsed) | NewRelic::Agent::Datastores.notice_statement(statement) | Suppression de l'argument elapsed. |
NewRelic::Agent::Datastores.wrap(...) do \|result, scoped_metric, elapsed_time\| | NewRelic::Agent::Datastores.wrap(...) do \|result\| | Suppression de scoped_metric et elapsed_time des arguments du bloc de rappel. |
Suppression de la prise en charge des versions Puma '<'
La version minimale de Puma désormais prise en charge est 3.9.0 ou supérieure. Si vous utilisez Puma, mettez à niveau vers la version 3.9.0 ou ultérieure avant de mettre à niveau l'agent.
Suppression de la fonctionnalité expérimentale Configurable Security Policies (CSP)
La fonctionnalité expérimentale, Configurable Security Policies (CSP), n'est plus prise en charge et a été supprimée. Les paramètres de sécurité par défaut de l'agent fournissent automatiquement la sécurité de vos données APM, cependant, vous pouvez restreindre davantage les informations que New Relic reçoit en utilisant le mode haute sécurité.
Métriques et segments ActiveJob renommés
Les métriques et segments ActiveJob ont été mis à jour pour inclure le nom de la classe du job pour un reporting plus spécifique. Mettez à jour tous les tableaux de bord personnalisés et les alertes NRQL qui interrogent les métriques et segments ActiveJob pour refléter le nouveau format.
Ancien format :
"Ruby/ActiveJob/#{QueueName}/#{Method}" # metrics"ActiveJob/#{Adapter}/Queue/#{Event}/Named/#{JobQueueName}" # segmentsNouveau format :
"Ruby/ActiveJob/#{QueueName}/#{JobClassName}/#{Method}" # metrics"ActiveJob/#{Adapter}/Queue/#{Event}/Named/#{JobQueueName}/#{JobClassName}" # segmentsCommande bin/newrelic renommée en bin/newrelic_rpm
Le fichier exécutable pour l'interface de ligne de commande de l'agent a été renommé de bin/newrelic à bin/newrelic_rpm. Ce changement résout un conflit de noms avec l'outil CLI New Relic autonome.
Ancienne commande :
$bin/newrelic installNouvelle commande :
$bin/newrelic_rpm install