Remarques
Cette version de l'agent Python ajoute la prise en charge des agents LangGraph.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Caractéristiques
Ajouter la prise en charge des agents LangGraph
- Ajoute une instrumentation pour les invocations d'agents LangGraph via
create_agent()dans LangChain. Cela inclut les appels de l'agent versinvoke(),ainvoke(),stream()etastream().
- Ajoute une instrumentation pour les invocations d'agents LangGraph via
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 version de l'agent Python ajoute de nouvelles façons de transmettre les erreurs à notice_error(), ajoute la prise en charge de la capture des erreurs d'outils synchrones Strands-Agent, ajoute la prise en charge de gpt-5 et des modèles OpenAI LLM plus récents, et corrige un plantage dans la logique d'utilisation d'Azure Functions.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Caractéristiques
Ajouter la prise en charge des instances d'exception comme arguments à
notice_error()notice_error()peut désormais accepter une instance d'exception interceptée (telle qu'une instance provenant d'un bloc try/except) pour l'argumenterror, plutôt qu'un tuple d'exception provenant desys.exc_info().Ceci s'ajoute au comportement existant et ne le remplace pas. L'utilisation précédente de
notice_error()sans arguments ou avec un tuple d'exception devrait toujours fonctionner correctement.
Ajouter la prise en charge de
gpt-5et des modèles LLM OpenAI plus récents- Ajouter des mises à jour à l'instrumentation OpenAI pour prendre en charge les noms d'attributs plus récents utilisés avec les modèles OpenAI ultérieurs
Ajouter la prise en charge de la capture d'erreurs d'outils synchrones Strands-Agent
- Les fonctions Python synchrones utilisées comme outils dans Strands-Agents ont désormais une capture d'erreur appropriée et capturent les traces dans des outils tels que les recherches dans la base de données.
Débogage
Se prémunir contre les plantages lors de l'utilisation d'Azure Functions
- Auparavant, certains utilisateurs rencontraient des cas limites où la détection d'utilisation d'Azure Functions plantait lors de la tentative de correspondance des expressions régulières. Le plantage a été corrigé et ne devrait plus être possible à l'avenir.
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 :
- Brins
- AWS Bedrock Converse Streaming
- Méthodes Redis
hybrid_searchetmsetex - Attributions de rôles LangChain pour l'événement LLM
- LLM événement horodatage capturé au moment de la demande LLM
loop_factoryparamètre dansasyncio.Runner
Cette mise à jour corrige également un bug dans l'instrumentation ASGI où les en-têtes ne sont pas signalés par le serveur web.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Caractéristiques
Ajout de la prise en charge de Strands
- Ajouter des instruments pour les outils et agents Strands dans des configurations mono-agent et multi-agents (essaims, graphes, etc.).
Ajout de la prise en charge du streaming Converse sur AWS Bedrock
- Ajout de la prise en charge monitoring pour l'API Converse en streaming. Cela inclut la prise en charge des appels de complétion de chat Converse effectués avec les clients boto3 et aioboto3 utilisant
converse_stream().
- Ajout de la prise en charge monitoring pour l'API Converse en streaming. Cela inclut la prise en charge des appels de complétion de chat Converse effectués avec les clients boto3 et aioboto3 utilisant
Ajout de la prise en charge des méthodes Redis
Ajouter la prise en charge des méthodes suivantes :
hybrid_searchmsetex
Ajouter la prise en charge de
loop_factorydansasyncio.Runner- Dans Python 3.11, la classe
asyncio.Runnera été ajoutée ainsi que le paramètreloop_factory. Le paramètreloop_factoryfournit un remplacement pour les politiques de boucle. La boucle ainsi créée est désormais instrumentée, que ce soit via un paramètre de boucle d'événements global ou une boucle d'événements personnalisée.
- Dans Python 3.11, la classe
Capturer les attributions de rôles LangChain dans un événement LLM
- L'événement LangChain
LlmChatCompletionMessagecontient désormais le rôle attribué par LangChain.
- L'événement LangChain
Capture de l'horodatage de l'événement LLM au moment de la requête LLM
- Auparavant, la date et l'heure de l'événement LLM étaient enregistrées au moment de sa création. Désormais, cette information est saisie avec plus de précision au moment de la demande de LLM.
Débogage
consommation d'en-tête ASGI
- Lorsqu'un
ASGIWebTransactionconsomme les en-têtes d'un événementhttp.response.start, il le fait sans tenir compte des types d'entrée autorisés. Lorsque les en-têtes sont un générateur, le générateur a été consommé par l'appel àprocess_response()ne laissant aucun en-tête à envoyer au serveur Web. Ce problème est maintenant résolu.
- Lorsqu'un
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 version de l'agent Python ajoute la prise en charge Python 3.14, de nouvelles variables d'environnement pour les paramètres de filtre d'attributs, la prise en charge des générateurs asynchrones dans les décorateurs de transaction, des modèles supplémentaires dans AWS Bedrock et de nouvelles méthodes dans AWS Kinesis. Cette sortie corrige également un bug dans aiomysql qui provoquait RecursionError lors de l'utilisation de ConnectionPool lorsqu'il était enveloppé plusieurs fois, un bug où les propriétés n'étaient pas correctement transmises dans le producteur de kombu, et une erreur lorsque shutdown_agent est appelé depuis le thread de récolte.
Installez l'agent en utilisant easy_install/pip/distribute via l' index des packagesPython , en utilisant conda via l' index des packages Conda-Forge, ou téléchargez-le directement depuis le site de téléchargement de New Relic.
Caractéristiques
Ajout de la prise en charge de Python 3.14
- Ajout de la prise en charge de Python 3.14.
Ajouter des variables d'environnement pour les paramètres des filtres d'attributs
Les paramètres suivants peuvent désormais être définis via des variables d'environnement :
Paramètres de configuration Variable d'environnement attributes.enabledNEW_RELIC_ATTRIBUTES_ENABLEDattributes.excludeNEW_RELIC_ATTRIBUTES_EXCLUDEattributes.includeNEW_RELIC_ATTRIBUTES_INCLUDEbrowser_monitoring.attributes.enabledNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLEDbrowser_monitoring.attributes.excludeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDEbrowser_monitoring.attributes.includeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDEerror_collector.attributes.enabledNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLEDerror_collector.attributes.excludeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDEerror_collector.attributes.includeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDEspan_events.attributes.enabledNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLEDspan_events.attributes.excludeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDEspan_events.attributes.includeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDEtransaction_events.attributes.enabledNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLEDtransaction_events.attributes.excludeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDEtransaction_events.attributes.includeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDEtransaction_segments.attributes.enabledNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLEDtransaction_segments.attributes.excludeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDEtransaction_segments.attributes.includeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDEtransaction_tracer.attributes.enabledNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLEDtransaction_tracer.attributes.excludeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDEtransaction_tracer.attributes.includeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE
Ajouter la prise en charge des générateurs asynchrones dans les décorateurs transaction
- Auparavant, les décorateurs de transaction ne prenaient pas en charge l'encapsulation autour des générateurs asynchrones. Cette fonctionnalité a été ajoutée, et les transactions du générateur asynchrone mesureront désormais automatiquement le temps d'attente de la boucle d'événements et d'autres statistiques.
Ajout de la prise en charge de modèles supplémentaires dans l'instrumentation AWS Bedrock
Mise à jour de l'instrumentation AWS Bedrock via botocore et aiobotocore pour prendre en charge les modèles supplémentaires suivants
- Modèles Claude Sonnet 3+
- Modèles préfixés par une région (adaptatifs aux régions)
Ajouter l'instrumentation pour les nouvelles méthodes Kinesis
Ajoute l'instrumentation botocore pour prendre en charge les nouvelles méthodes AWS Kinesis
describe_account_settingsupdate_account_settingsupdate_max_record_sizeupdate_stream_warm_throughput
Débogage
Prévenir une erreur de récursion dans le pool de connexions aiomysql
- Auparavant, une erreur
RecursionErrorétait levée dans aiomysql lors de l'utilisation de connexions mises en pool. Des chaînes profondesObjectProxyont été créées autour de connexions mises en commun en raison d'un enroulement répété. Ce problème a été résolu.
- Auparavant, une erreur
Correction d'un bug où les propriétés n'étaient pas correctement transmises au producteur de Kombu
- Correction d'un bug où l'instrumentation pour
kombu.messaging.Producer.publish()entraînait l'imbrication accidentelle de propriétés à l'intérieur du dictionnaire, ce qui faisait que les propriétés se trouvaient au mauvais endroit et n'étaient pas lues par le package en aval.
- Correction d'un bug où l'instrumentation pour
Correction d'une erreur lors de l'appel de
shutdown_agentdepuis le thread de récolte- Auparavant, un
RuntimeErrorpouvait se produire lorsqueshutdown_agentétait appelé depuis le thread de récolte. Cela corrige ce problème en ajoutant une protection pour empêcher le plantage.
- Auparavant, un
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 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.
Notes
Prudence
This version of the agent has been yanked.
This release of the Python agent makes the following changes:
- Removes support for Python 3.7
- Removes and or deprecates various APIs and settings
- Deprecates aioredis instrumentation
- Raises the minimum supported version of
setuptoolsandsetuptools_scm - Adds new instrumentation for AutoGen
- Adds new instrumentation for Pyzeebe
- Adds new MCP (Model Context Protocol) named spans
- Fixes a crash in psycopg
- Ensures MCP spans are only recorded when AI monitoring is enabled
Install the agent using easy_install/pip/distribute via the Python Package Index or download it directly from the New Relic download site.
Removed features
Removes support for Python 3.7
- Python 3.7 was EOL'd June 27, 2023. The Python agent has dropped support for it.
Removes various deprecated APIs
The following APIs have been removed:
Legacy API Replacement API accept_distributed_trace_payloadaccept_distributed_trace_headersadd_custom_parameteradd_custom_attributeadd_custom_parametersadd_custom_attributescreate_distributed_trace_payloadinsert_distributed_trace_headersget_browser_timing_footerThe functionality of this has been wrapped into get_browser_timing_header()record_exceptionnotice_error()NewRelicLogHandlerNewRelicLogForwardingHandlerlambda_handler&LambdaHandlerWrapperThese APIs have moved to the newrelic-lambdapackage.
Removes various deprecated settings
The following settings have been removed:
Legacy Setting Replacement Setting 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.allowlistsslThis is now hardcoded to trueso it has been removed as a setting option.ignored_paramsUse newrelic.attributes.exclude = request.parameters.{name}instead. Add each request parameter key to thenewrelic.attributes.excludelist, delimited by commas. Be sure to prepend the key withrequest.parameters.agent_limits.merge_stats_maximumThis is now completely ignored in favor of serverside config.
Deprecated features
Instrumentation for aioredis has been deprecated
Deprecates some existing harvest settings to match other language agents
In order to be more consistent with the conventions of the other language agents, the following harvest settings are now deprecated:
Legacy Setting Replacement Setting 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_storedThis is a revert of a previous change that renamed these settings from
*.max_samples_storedto theevent_harvest_config.harvest_limits.*form. This decision has been reversed, and the original settings named have been restored to match the other language agents who did not change these settings names. The deprecated settings will continue to work for now, but they will be removed in a future release.
Deprecates configuration of the agent through the WSGI environ dictionary
The following settings which were previously possible to configure through the WSGI environ dictionary are now deprecated. Please configure these settings through environment variables or the config file.
newrelic.set_background_tasknewrelic.suppress_apdex_metricnewrelic.suppress_transaction_tracenewrelic.capture_request_paramsnewrelic.disable_browser_autorum
Deprecates support for building the agent with
setuptools<61.2orsetuptools_scm<6.4- The minimum supported versions of
setuptoolsandsetuptools_scmhave been increased to61.2and6.4respectively. This is to support the use ofpyproject.tomlfor configuring the package metadata and building instructions. The agent can now be built with more modern build tools which will no longer log warnings about the lack of apyproject.tomlfile. - This change adds new version attributes to the packages,
newrelic.__version__andnewrelic.__version_tuple__, which can be used to programmatically check the version of the agent at runtime.
- The minimum supported versions of
New features
Adds new instrumentation for AutoGen
- Adds instrumentation (named spans and custom
Llmevents) for agents and tools in AutoGen
- Adds instrumentation (named spans and custom
Adds new instrumentation for Pyzeebe
- Adds automatic instrumentation and framework-specific agent attributes for Pyzeebe
Adds new MCP (Model Context Protocol) named spans
- Adds new named spans for MCP (Model Context Protocol) tool calls made via tool manager to support Streamable HTTP
Bug fixes
Fixes a crash in
psycopg>=3.2.0when callingas_string()- Fixes an issue in
psycopg>=3.2.0where theas_string()method no longer required arguments, causing a potential crash. This has been fixed, and both signatures of this method are supported.
- Fixes an issue in
Ensures MCP (Model Context Protocol) spans are only recorded when AI monitoring is enabled
- Ensures MCP (Model Context Protocol) spans are only recorded when the setting
ai_monitoring.enabledis enabled.
- Ensures MCP (Model Context Protocol) spans are only recorded when the setting
Support statement
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 Python agent EOL policy for information about agent releases and support dates.