Important
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.23.0
Feature: Add sidekiq.ignore_retry_errors configuration option
A new configuration option,
sidekiq.ignore_retry_errors, has been added to control if Sidekiq job retries are captured. Retry errors are captured by default, but now ifsidekiq.ignore_retry_errorsis set totrue, the agent will ignore exceptions raised during Sidekiq's retry attempts and will only report the error if the job permanently fails. Thank you DonGiulio for recognizing this improvement and contributing a solution. PR#3317Feature: Deprecation notice for recording deployments using Capistrano
Sending application deployment information using a Capistrano recipe is deprecated and will be removed in agent version 10.0.0. For recording deployments, please see our guide to Change Tracking for a list of available options.
Feature: Use remote parent sampling configurations for decisions in more scenarios
Previously, the
distributed_tracing.sampler.remote_parent_sampledanddistributed_tracing.sampler.remote_parent_not_sampledconfiguration options were used for the sampling decision only when thetraceparentandtracestateheaders were present. Now, these configuration options are applied in cases when thetracestateheader is missing and when only thenewrelicheader is available. This change makes distributed trace sampling more consistent and predictable. PR#3306
Important
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.
v9.22.0
fonctionnalité : Instrumentation en une étape pour Kubernetes
L'APM Kubernetes attache automatiquement les applications d'instrumentation et gère les mises à niveau des agents dans le déploiement Kubernetes. Cette fonctionnalité est sortie du stade de préversion et est désormais généralement disponible. En savoir plus sur l'attachement automatique de Kubernetes. PR#2635 PR#3287
fonctionnalité : avis d'obsolescence pour Ruby 2.4 et Ruby 2.5
La prise en charge de l'agent Ruby pour les versions Ruby 2.4 et 2.5 est obsolète et sera supprimée dans la version 10.0.0 de l'agent. La nouvelle version minimale requise de Ruby deviendra Ruby 2.6 et nous arrêterons les tests avec Ruby 2.4 et 2.5. PR#3288
Fonctionnalité : Avis de dépréciation pour la commande
newrelic deploymentsLa prise en charge de l'enregistrement du déploiement à l'aide de la commande
newrelic deploymentsest désormais obsolète et sera supprimée dans la version 10.0.0 de l'agent.À l’avenir, il existe un certain nombre de moyens automatisés et manuels pour enregistrer les modifications dans New Relic. Veuillez consulter notre guide de suivi des changements pour une liste des options disponibles. PR#3262
Fonctionnalité : Rappel de dépréciation pour le traçage inter-applications
Le traçage inter-applications est obsolète depuis la version majeure 8.0.0 de l'agent Ruby. Nous supprimerons entièrement la prise en charge de cette fonctionnalité dans la version 10.0.0 de l'agent. PR#3288
Fonctionnalité : assurer la compatibilité avec Ruby 3.5 en modifiant Method#source_location
Mise à jour de l'agent pour analyser correctement la valeur de retour de Method#source_location, qui passe dans Ruby 3.5 d'un éventail à deux éléments à un éventail à cinq éléments. Ce changement maintient la prise en charge des anciennes versions Ruby tout en ajoutant la prise en charge de la future sortie. PR#3257
Important
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.
v9.21.0
Fonctionnalité : En mode APM Serverless, utilisez le nom de la source de l'événement comme préfixe du nom de transaction
L'agent utilisera désormais le nom de la source de l'événement comme préfixe pour le nom de la transaction en mode Serverless APM. Cela aidera à mieux identifier la source de la transaction dans l'interface utilisateur de New Relic. PR#3245
Bugfix : Rétablir la logique modifiée de suivi du thread dans lequel la plage commence
Cette modification restaure le comportement précédent de suivi du thread dans lequel la plage démarre, résolvant ainsi les problèmes découlant de la logique mise à jour. Merci @david-zw-liu d'avoir attiré notre attention sur ce point. PR#3248
Important
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.
v9.20.0
Fonctionnalité : Ajouter un identifiant ECS Docker pour Fargate
Auparavant, l’agent Ruby n’enregistrait pas l’ID Docker lors de son exécution dans un environnement AWS ECS Fargate. L'ID Docker sera désormais enregistré correctement. PR#3172
Fonctionnalité : Ajouter NewRelic::Helper.version_satisfied?
L'agent dispose d'une nouvelle méthode d'assistance pour simplifier la comparaison des versions.
NewRelic::Helper.version_satisfied?accepte trois arguments : un numéro de version côté gauche, l'opérateur de comparaison sous forme de chaîne et un numéro de version côté droit. Nos remerciements vont à @kekke-n pour cette contribution. PR#3182Fonctionnalité : Ajouter l'attribut code.stacktrace sur les étendues datastore lorsque la durée dépasse le seuil configuré
L'agent ajoutera désormais l'attribut
code.stacktraceaux étendues datastore lorsque la durée dépasse le seuil configuré. Le seuil est configuré à l’aide de l’option de configurationtransaction_tracer.stack_trace_threshold. PR#3220fonctionnalité : consolider les valeurs constantes "Inconnues"
Toutes les références aux différents styles de majuscules pour « Inconnu » ont été consolidées en deux constantes :
NewRelic::UNKNOWNetNewRelic::UNKNOWN_LOWER. Merci, @tsubasa1122, pour votre contribution ! PR#3185Correction de bug : correction des liens source du fichier Brewfile
Auparavant, les liens du fichier README du multivers vers le Brewfile étaient rompus. Nos remerciements vont à @emmanuel-ferdman pour avoir soumis un PR pour les corriger ! PR#3191
Correction de bug : correction d'une erreur lors de l'utilisation de HTTPX 1.5.0
L'agent a précédemment rencontré une erreur lors de l'utilisation de la nouvelle version HTTPX 1.5.0. Cela était dû à un changement dans la façon dont HTTPX stocke la réponse. L'agent a été mis à jour pour gérer correctement ce changement et ne rencontre plus d'erreur lors de l'utilisation de HTTPX 1.5.0. PR#3203
Correction de bugs : corrections de bugs et améliorations des logs de l'agent de niveau de débogage
Améliore l'informations enregistrée au niveau de débogage par l'agent lorsque l'agent lit une source configuration. PR#3221
Correction de bug : corrige le risque de falsification côté serveur pour le script de workflow Slack
En interne, nous suivons les gemmes qui sortent à l'aide d'un workflow d'actions GitHub qui publie des mises à jour sur Slack. [@odaysec] a identifié un moyen de réduire le risque de falsification côté serveur pour ce workflow. Merci! PR#3184
Correction de bug : remplacer les appels JSON.load par JSON.parse
En général, JSON.parse est considéré comme plus sûr que JSON.load. Merci, @odaysec, d'avoir attiré notre attention sur ce point ! PR#3183 PR#3230
Important
Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.
Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.
v9.19.0
Fonctionnalité : ajouter l'ID de thread comme attribut à toutes les étendues
L'agent enregistrera désormais l'ID de thread en tant qu'attribut sur chaque étendue. PR#3122
Fonctionnalité : Ajout de la prise en charge de l'indicateur de trace W3C TraceContext
Auparavant, l'agent n'utilisait pas le champ d'indicateur de trace de l'en-tête traceparent pour les décisions d'échantillonnage. Cela pourrait conduire à une trace fragmentée dans l'interface utilisateur. Bien que le comportement par défaut reste inchangé, deux nouvelles options de configuration,
distributed_tracing.sampler.remote_parent_sampledetdistributed_tracing.sampler.remote_parent_not_sampled, ont été introduites pour permettre un meilleur contrôle sur la manière dont les décisions d'échantillonnage sont prises. PR#3135Correction de bogue : inclure request.uri dans l'événement Transaction par défaut
Le dictionnaire de données New Relic s'attend à ce que l'événement Transaction ait l'attribut
request.uri. L'agent Ruby répond désormais à cette attente. Si vous souhaitez exclurerequest.uride l'événement Transaction, vous pouvez le faire en définissanttransaction_events.attributes.excludesur'request.uri'. PR#3103Correction de bogue : correction d'une erreur dans l'instrumentation de la tâche active lors de l'utilisation de perform_all_later
Auparavant, lorsque la méthode
perform_all_laterd'Active Job était appelée et que l'agent était en cours d'exécution, unNoMethodErrorétait généré avec le messageundefined method 'queue_name' for nil. L'erreur a été corrigée et le nom du segment reflétera le premier travail dans la file d'attente. Nous remercions @tan-linx d'avoir attiré notre attention sur ce problème et d'avoir fourni une solution. PR#3110
Important
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.18.0
Feature: Add elasticsearch.capture_cluster_name configuration option
A new configuration option,
elasticsearch.capture_cluster_name, has been added to control capturing Elasticsearch cluster names. Cluster names are captured by default, but can now be disabled as needed. PR#3038Feature: Add support for sidekiq-delay_extensions
Sidekiq delay extensions were removed from Sidekiq in 7.x and are now avaliable through the sidekiq-delay_extensions gem. Thanks to @sobrinho, the agent now has continued support for delay extensions.PR#3056
Feature: Parallelize calls for vendor metadata
Previously, the agent would make calls for vendor metadata in a serial fashion. This could lead to a delay in starting the agent. Now, the agent will make these calls in parallel, reducing the time it takes to start the agent. PR#3094
Bugfix: Prevent a nil segment from causing errors in Net::HTTP instrumentation
When using JRuby, a race condition can happen that causes the segment creation to fail and return
nil. This would cause an error to occur when methods were later called on thenilsegment. These methods will no longer be called if the segment isnil, preventing that error from occurring. PR#3046Bugfix: JRuby multithreading improvements
Added some additional nil checks and mutexes to prevent issues when using the agent on JRuby with multiple threads. Thanks to @NC-piercej for bringing this to our attention Issue#3021 PR#3053
Bugfix: Stop reporting rescued Sidekiq::OverLimit exceptions
When Sidekiq's concurrent rate limiters encounter an
OverLimitexception, Sidekiq typically handles this by re-enqueuing the job. Previously, all occurrences ofSidekiq::OverLimitwere logged as errors in New Relic, even when Sidekiq's middleware resolved the exception. New Relic will no longer report errors that are handled by Sidekiq's own middleware. Thanks to @97jaz for reporting this issue. Issue#3037 PR#3047Bugfix: Protect against nil agents or health checks
In some cases the agent or health checks may be
nilwhen they are called. Safe navigation operators have been added for protection on those occasions. PR#3049Bugfix: Ignore Solid Queue
ThreadError: queue emptyerror message by defaultWhen using the solid_queue gem, the agent previously generated excessive warn-level logs when the queue was empty. The agent now ignores
queue emptyerror messages of theThreadErrorclass by default. This behavior can be adjusted using theerror_collector.ignore_messagesconfiguration option. PR#3060Bugfix: Refactor URI host handling to accommodate downcasing frozen strings
When URI host string was frozen, a FrozenError would be raised when the agent attempted to downcase the host as part of its data normalization process. Now, the update is friendly for frozen strings. Thank you @pedrol3001 for your contribution! PR#3097