Remarques
Cette sortie de l'agent Python fournit des correctifs pour l'activation précoce dans l'instrumentation Django, les remplacements côté serveur pour max_samples_stored ignorés et les protections contre les plantages de trace_cache.pop().
Installez l'agent à l'aide de easy_install/pip/distribute via l' index du packagePython ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Débogage
Empêche l'activation précoce dans l'instrumentation Django
- Supprimez les appels à
application_settings()dans l'instrumentation Django pour éviter les problèmes liés aux activations précoces dans les applications pré-fork.
- Supprimez les appels à
Résoudre les problèmes de synchronisation de la configuration du serveur avec la configuration locale
- Cela corrige un bug créé lorsque les paramètres
event_harvest_config.harvest_limits.*étaient obsolètes au profit des paramètres*.max_samples_stored. Certaines configurations côté serveur ne remplaçaient pas la configuration côté client, ce qui entraînait l'envoi de données au collecteur malgré la désactivation de cette fonction par l'utilisateur.
- Cela corrige un bug créé lorsque les paramètres
Protégez-vous contre les accidents de
trace_cache.pop()- Dans la classe
ContextOf, il y a eu un accès non sécurisé detrace_cacheviapop(key)sans valeur par défaut. Cela a provoqué des plantages lorsque leweakrefdans le dictionnaire était déjà récupéré par le garbage collector.
- Dans la classe
Déclaration de soutien
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 Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Prudence
Cette version de l'agent a été retirée.
Cette sortie de l'agent Python apporte les modifications suivantes :
- Supprime la prise en charge de Python 3.7
- Supprime et/ou déprécie diverses API et paramètres
- Obsolète l'instrumentation aioredis
- Augmente la version minimale prise en charge de
setuptoolsetsetuptools_scm - Ajoute une nouvelle instrumentation pour AutoGen
- Ajoute une nouvelle instrumentation pour Pyzeebe
- Ajoute de nouveaux MCP (Model Context Protocol) nommés spans
- Corrige un crash dans psycopg
- Garantit que les étendues MCP ne sont enregistrées que lorsque monitoring de l'IA est activée
Installez l'agent à l'aide de easy_install/pip/distribute via l' index du packagePython ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Fonctionnalité supprimée
Supprime la prise en charge de Python 3.7
- Python 3.7 a pris fin le 27 juin 2023. L'agent Python n'en prend plus en charge.
Supprime diverses API obsolètes
Les API suivantes ont été supprimées :
API héritée API de remplacement accept_distributed_trace_payloadaccept_distributed_trace_headersadd_custom_parameteradd_custom_attributeadd_custom_parametersadd_custom_attributescreate_distributed_trace_payloadinsert_distributed_trace_headersget_browser_timing_footerLa fonctionnalité de ceci a été intégrée dans get_browser_timing_header()record_exceptionnotice_error()NewRelicLogHandlerNewRelicLogForwardingHandlerlambda_handler&LambdaHandlerWrapperCes API ont été déplacées vers le package newrelic-lambda.
Supprime divers paramètres obsolètes
Les paramètres suivants ont été supprimés :
héritage Réglage Paramètre de remplacement transaction_tracer.capture_attributestransaction_tracer.attributes.enablederror_collector.capture_attributeserror_collector.attributes.enabledbrowser_monitoring.capture_attributesbrowser_monitoring.attributes.enabledanalytics_events.enabledtransaction_events.enabledanalytics_events.capture_attributestransaction_events.attributes.enablederror_collector.ignore_errorserror_collector.ignore_classesstrip_exception_messages.whiteliststrip_exception_messages.allowlistsslCeci est désormais codé en dur sur true, il a donc été supprimé en tant qu'option de paramètre.ignored_paramsUtilisez plutôt newrelic.attributes.exclude = request.parameters.{name}. Ajoutez chaque clé de paramètre de demande à la listenewrelic.attributes.exclude, délimitée par des virgules. Assurez-vous de préfixer la clé avecrequest.parameters.agent_limits.merge_stats_maximumCeci est désormais complètement ignoré au profit de la configuration côté serveur.
Fonctionnalité obsolète
L'instrumentation pour aioredis est obsolète
Supprime certains paramètres de récolte existants pour correspondre à d'autres agents de langage
Afin d'être plus cohérent avec les conventions des autres agents de langage, les paramètres de récolte suivants sont désormais obsolètes :
héritage Réglage Paramètre de remplacement event_harvest_config.harvest_limits.analytic_event_datatransaction_events.max_samples_storedevent_harvest_config.harvest_limits.span_event_dataspan_events.max_samples_storedevent_harvest_config.harvest_limits.error_event_dataerror_collector.max_event_samples_storedevent_harvest_config.harvest_limits.custom_event_datacustom_insights_events.max_samples_storedevent_harvest_config.harvest_limits.log_event_dataapplication_logging.forwarding.max_samples_storedIl s'agit d'une annulation d'une modification précédente qui a renommé ces paramètres de
*.max_samples_storedau formatevent_harvest_config.harvest_limits.*. Cette décision a été annulée et les noms des paramètres d'origine ont été restaurés pour correspondre aux autres agents linguistiques qui n'ont pas modifié ces noms de paramètres. Les paramètres obsolètes continueront de fonctionner pour le moment, mais ils seront supprimés lors d'une prochaine sortie.
Désapprouve la configuration de l'agent via le dictionnaire d'environnement WSGI
Les paramètres suivants, qui pouvaient auparavant être configurés via le dictionnaire d'environnement WSGI, sont désormais obsolètes. Veuillez configurer ces paramètres via des variables d'environnement ou le fichier de configuration.
newrelic.set_background_tasknewrelic.suppress_apdex_metricnewrelic.suppress_transaction_tracenewrelic.capture_request_paramsnewrelic.disable_browser_autorum
Supprime la prise en charge de la création de l'agent avec
setuptools<61.2ousetuptools_scm<6.4- Les versions minimales prises en charge de
setuptoolsetsetuptools_scmont été augmentées à61.2et6.4respectivement. Ceci permet de prendre en charge l'utilisation depyproject.tomlpour configurer les métadonnées du package et les instructions de construction. L'agent peut désormais être construit avec des outils de construction plus modernes qui n'enregistreront plus les avertissements concernant l'absence d'un fichierpyproject.toml. - Cette modification ajoute un nouvel attribut de version au package,
newrelic.__version__etnewrelic.__version_tuple__, qui peut être utilisé pour vérifier par programmation la version de l'agent au moment de l'exécution.
- Les versions minimales prises en charge de
Nouvelles fonctionnalités
Ajoute une nouvelle instrumentation pour AutoGen
- Ajoute une instrumentation (étendues nommées et événement
Llmpersonnalisé) pour les agents et les outils dans AutoGen
- Ajoute une instrumentation (étendues nommées et événement
Ajoute une nouvelle instrumentation pour Pyzeebe
- Ajoute une instrumentation automatique et un attribut d'agent spécifique frameworkpour Pyzeebe
Ajoute de nouveaux MCP (Model Context Protocol) nommés spans
- Ajoute de nouvelles étendues nommées pour les appels d'outils MCP (Model Context Protocol) effectués via le gestionnaire d'outils pour prendre en charge Streamable HTTP
Débogage
Corrige un crash dans
psycopg>=3.2.0lors de l'appelas_string()- Corrige un problème dans
psycopg>=3.2.0où la méthodeas_string()ne nécessitait plus d'arguments, provoquant un plantage potentiel. Ce problème a été corrigé et les deux signatures de cette méthode sont prises en charge.
- Corrige un problème dans
Garantit que les étendues MCP (Model Context Protocol) ne sont enregistrées que lorsque monitoring de l'IA est activée
- Garantit que les étendues MCP (Model Context Protocol) ne sont enregistrées que lorsque le paramètre
ai_monitoring.enabledest activé.
- Garantit que les étendues MCP (Model Context Protocol) ne sont enregistrées que lorsque le paramètre
Déclaration de soutien
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 Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l'agent Python ajoute la prise en charge des éléments suivants :
- Tâches personnalisées dans Celery
- Monitoringde Graphene-Django
- Filtrage middleware dans Django
- API AWS Bedrock Converse
- Indicateur d'échantillon d'en-tête W3CTraceParent
Cette sortie fournit également les correctifs suivants :
- Garanties pour le chemin unique le plus profond dans GraphQL
- Mesures de protection pour l'analyse des requêtes d'URL Web
- Recours à ElasticSearch et GraphQL lorsque
trace.settings==None - Supprimer la méthode
optionsde la liste des clients ElasticSearch asynchrones
Installez l'agent à l'aide de easy_install/pip/distribute via l' index du packagePython ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelles fonctionnalités
Ajoute la prise en charge des tâches personnalisées dans Celery
- Ajoutez la prise en charge monitoring pour les classes de tâches personnalisées dans Celery. Auparavant, seules les tâches utilisant la classe de tâches par défaut pouvaient être monitorées. Remarque : cette version de l'agent Python ne prendra plus en charge les versions de Celery inférieures à la version 5.2.0.
Ajoute la prise en charge de Graphene-Django
- Ajoutez la prise en charge monitoring pour les schémas synchrones créés avec Graphene-Django. Auparavant, les schémas créés avec Graphene-Django n'étaient que partiellement monitorés, ce qui entraînait l'absence d'attributs liés GraphQL.
Ajoute la prise en charge du filtrage middleware dans Django
Les utilisateurs sont désormais en mesure de filtrer le middleware Django à monitorer. Il existe désormais trois paramètres supplémentaires:
instrumentation.middleware.django.enabled(La valeur par défaut esttrue)instrumentation.middleware.django.excludeinstrumentation.middleware.django.include
Consultez la page Filtrage du middleware Django pour plus d’informations et d’exemples.
Ajoute la prise en charge de l'API AWS Bedrock Converse
- Ajoutez la prise en charge monitoring pour l'API Converse non diffusée en continu. Cela inclut la prise en charge des appels de fin de discussion
converseeffectués à l'aide des clientsboto3etaioboto3.
- Ajoutez la prise en charge monitoring pour l'API Converse non diffusée en continu. Cela inclut la prise en charge des appels de fin de discussion
Ajoute la prise en charge de l'indicateur d'échantillonnage de l'en-tête W3CTraceParent
- Lorsqu'un service en amont envoie l'en-tête W3CTraceParent avec l'indicateur d'échantillonnage défini, New Relic prendra en compte cette décision d'échantillonnage pour décider si la transaction en cours sera échantillonnée.
Ajout de la prise en charge des décisions d'échantillonnage en fonction de l'échantillonnage du parent distant
Ajout de la prise en charge de deux nouvelles options de configuration :
distributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
defaultest le comportement par défaut et se comporte comme avant ce changement (il transmet la décision d'échantillonnage à l'algorithme d'échantillonnage adaptatif pour déterminer si la transaction sera échantillonnée).always_onsignifie que la trace qui a un parent distant échantillonné ou un parent distant non échantillonné sera toujours échantillonnée.always_offsignifie que la trace qui a un parent distant échantillonné ou un parent distant non échantillonné ne sera jamais échantillonnée.
Débogage
Ajouter une protection pour le chemin unique le plus profond dans GraphQL
- Certains utilisateurs rencontraient des problèmes avec le chemin unique le plus profond dans GraphQL qui n'était pas généré en raison d'un nom de champ renvoyant
None. Ce problème a été résolu.
- Certains utilisateurs rencontraient des problèmes avec le chemin unique le plus profond dans GraphQL qui n'était pas généré en raison d'un nom de champ renvoyant
Ajouter une protection pour l'analyse des requêtes Web
- Certains utilisateurs ont rencontré une erreur d'analyse lorsque
request_uriétait mal formé ou contenait des caractères non valides. Cela peut se produire à ce stade si lerequest_uridans l'en-tête de la requête n'est pas valide et ne correspond pas à l'URL (valide) fournie à l'origine. Bien que cette protection ait désormais été mise en place dans New Relic,urlliba résolu ce problème pour les versions de Python sortie après le 31 janvier 2025.
- Certains utilisateurs ont rencontré une erreur d'analyse lorsque
Correction du crash dans ElasticSearch et GraphQL lorsque
trace.settings==None- Dans les cas où
trace.settingsestNone, l'instrumentation pour ElasticSearch a fait planter l'application. Une solution de secoursglobal_settingsa été mise en place. Cela résout également le même problème rencontré dans GraphQL.
- Dans les cas où
Supprimer la méthode
optionsde la liste des clients ElasticSearch asynchrones- L'instrumentation précédente d'ElasticSearch a provoqué un crash car
optionsfigurait dans la liste des méthodes asynchrones. Cette méthode n'est plus encapsulée dans unDatastoreTracecar elle n'effectue aucune opération/requests datastore.
- L'instrumentation précédente d'ElasticSearch a provoqué un crash car
Déclaration de soutien
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 Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l'agent Python ajoute la prise en charge de nouvelles fonctions Redis , convertit tous les chemins internes de os.path à pathlib.Path et corrige un problème avec l'encodage JSON PosixPaths.
Installez l'agent à l'aide de easy_install/pip/distribute via l' index du packagePython ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelles fonctionnalités
Ajoute la prise en charge de nouvelles fonctions Redis
- Ajoutez une instrumentation pour les nouvelles fonctions Redis .
Convertir tous les chemins internes de
os.pathenpathlib.Path- Convertissez toute l'utilisation interne des chemins basés sur des chaînes et
os.pathenpathlib.Pathen préparation pour prendre en charge les chemins Windows.
- Convertissez toute l'utilisation interne des chemins basés sur des chaînes et
Débogage
Correction du problème avec l'encodage JSON PosixPath
- Certains utilisateurs rencontraient des problèmes avec les paramètres configuration de l'encodage JSON
PosixPath. Ce problème a été résolu.
- Certains utilisateurs rencontraient des problèmes avec les paramètres configuration de l'encodage JSON
Déclaration de soutien
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 Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.
Remarques
Cette sortie de l'agent Python ajoute le support pour oracledb, corrige un bug dans Kombu et Kafka où l'objet MessageTransaction n'a pas d'attribut destination_name, et corrige la disparition de l'utilisation mémorisée avec AWS.
Installez l'agent à l'aide de easy_install/pip/distribute via l' index du packagePython ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Nouvelles fonctionnalités
Ajoute la prise en charge d'oracledb
- Ajouter une instrumentation pour oracledb.
Débogage
Correction du bug « L'objet
MessageTransactionn'a pas d'attributdestination_name»- Correction d'un bug dans les instrumentations MessageBroker où les méthodes de sérialisation recherchaient l'attribut
destination_namesurMessageTransactionet il n'existait pas.
- Correction d'un bug dans les instrumentations MessageBroker où les méthodes de sérialisation recherchaient l'attribut
Résoudre le problème de métadonnées d'utilisation d'AWS lors de l'exécution simultanée d'AWS et de K8
- En raison des paramètres d'autorisations dans le pod K8s exécuté sur les instances AWS EC2, les métadonnées d'utilisation peuvent être récupérées la première fois. Cependant, si l'application est laissée en cours d'exécution en continu, l'agent se reconnectera et les métadonnées d'utilisation ne parviendront pas à se charger. Dans de tels cas, les métadonnées d’utilisation sont mises en cache par instance d’agent et peuvent être récupérées.
Déclaration de soutien
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 Python de New Relic pour obtenir des informations sur la sortie de l'agent et les dates de support.