Remarques
Cette sortie de l’agent Python ajoute la prise en charge de la configuration côté serveur du monitoring de l’IA, ajoute la propagation du contexte pour les invocations Bedrock effectuées via le framework Microsoft Agent, corrige les entités d’outil en double pour les outils LangChain soutenus par un serveur MCP distant, réduit le risque de condition de concurrence dans l’échantillonneur de données du ramasse-miettes, corrige les noms de transaction incohérents lors de l’utilisation de Wagtail, et supprime l’encodage d’octets des en-têtes de tracing distribué Kombu sortants.
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.
Nouvelle fonctionnalité
Ajouter la prise en charge de la configuration côté serveur du monitoring de l’IA
- L’agent Python prend désormais en charge la configuration côté serveur du monitoring de l’IA. Une fois configurées, les valeurs côté serveur
ai_monitoring.enabled,ai_monitoring.record_content.enabledetai_monitoring.streaming.enabledont priorité sur les paramètres locaux.
- L’agent Python prend désormais en charge la configuration côté serveur du monitoring de l’IA. Une fois configurées, les valeurs côté serveur
Ajouter la propagation du contexte pour les invocations Bedrock via le framework Agent
- Propage le contexte de trace à travers les limites de threads créées par l’intégration Bedrock de Microsoft Agent framework. Cela permet à l’instrumentation botocore existante de l’agent de capturer les événements LLM pour les invocations Bedrock effectuées via Agent framework. Cela n’ajoute pas une instrumentation complète d’Agent framework lui-même.
Bugs
Corriger les noms de transaction incohérents lors de l’utilisation de Wagtail
- Auparavant, les noms de transaction pour les applications basées sur Wagtail étaient incohérents et pouvaient être identiques pour différentes pages vues. Ce problème est résolu.
Correction des entités d’outil en double pour les outils LangChain s’appuyant sur un serveur MCP distant
- Auparavant, lorsqu’un outil LangChain était soutenu par un serveur MCP distant qui était également instrumenté séparément, des entités d’outil en double apparaissaient dans l’interface utilisateur. Cela a été corrigé en désactivant les attributs de sous-composant des outils LangChain lorsqu’un outil distant connu est détecté.
Corriger le champ d’entrée utilisateur manquant pour les appels d’outils MCP LangChain et LangGraph
- Auparavant, lorsque LangChain ou LangGraph utilisaient des outils provenant d’un serveur MCP, le champ d’entrée utilisateur pouvait être manquant dans les données de monitoring de l’IA si le message d’entrée n’était pas le dernier message de la séquence diffusée en continu. Cela a été corrigé, et l’agent extrait désormais correctement le message d’entrée dans ces cas.
Réduire le risque de condition de concurrence dans l’échantillonneur de données du ramasse-miettes
- Auparavant, l’agent appelait toujours
gc.get_objects()pour échantillonner le nombre d’objets du collecteur de mémoire, quelle que soit la configuration. Cela a été modifié de sorte quegc.get_objects()ne soit appelé que lorsquetop_object_count_limitest configuré au-dessus de0, évitant ainsi une itération inutile du tas pour les clients qui ne suivent pas les types d’objets collectés par le collecteur de mémoire.
- Auparavant, l’agent appelait toujours
Supprimer l’encodage en octets des en-têtes de tracing distribué Kombu sortants
- Auparavant, les en-têtes de tracing distribué ajoutés par l’instrumentation Kombu étaient encodés en octets, ce qui interrompait les transports qui sérialisent les charges avec le module
jsonde la bibliothèque standard (par exemple, les transports soutenus par SQLAlchemy). L’encodage en octets a été supprimé afin que ces transports fonctionnent correctement.
- Auparavant, les en-têtes de tracing distribué ajoutés par l’instrumentation Kombu étaient encodés en octets, ce qui interrompait les transports qui sérialisent les charges avec le module
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 l'instrumentation pour Google ADK, ajoute le comptage des jetons pour plusieurs fournisseurs d'IA (Anthropic, Google GenAI, OpenAI et AWS Bedrock), réduit la taille de l'en-tête tracestate sortant et corrige un plantage dans l'instrumentation de graphql-core.
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.
Fonctionnalités améliorées
Ajout de l'instrumentation pour Google ADK
L'agent Python instrumente désormais les workflows d'agent d'IA Google ADK (Agent Development Kit).
Les composants instrumentés incluent :
LlmAgentliés aux backend Gemini ou VertexAI viagoogle.genai- Instances
FunctionTooldéfinies par l'utilisateur - Workflows de sous-agents incluant les agents enfants et les instances
AgentTool - Workflows multi-agents incluant la classe
Workflowet les classes obsolètesLoopAgent,ParallelAgentetSequentialAgent
Ajout du comptage des jetons pour Anthropic, Gemini, OpenAI et Bedrock
L'agent Python signale désormais le nombre de jetons pour toutes les invocations LLM sur plusieurs fournisseurs d'IA :
- SDK Anthropic
- SDK Google GenAI
- SDK OpenAI
- AWS Bedrock via botocore et aiobotocore
Bugs
Correction du plantage de l'instrumentation pour graphql-core v3.2.10
- Auparavant, graphql-core v3.2.10 a renommé l'attribut
errorsencollected_errorsdansExecutionContext, provoquant le plantage de l'agent. Cela a été corrigé et l'agent fonctionne désormais correctement avec graphql-core v3.2.10 et les versions ultérieures.
- Auparavant, graphql-core v3.2.10 a renommé l'attribut
Suppression de
spanIdde l'en-têtetracestatesortant- Auparavant, l'agent incluait
spanIddans l'en-têtetracestatesortant. Étant donné quespanIdest déjà présent dans l'en-têtetraceparent, il s'agissait d'une duplication inutile. LespanIda été supprimé detracestatepour réduire la taille de l'en-tête sortant.
- Auparavant, l'agent incluait
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 des informations de modèle supplémentaires aux événements LLM de chaîne LangChain, et corrige un bug dans l'instrumentation de streaming de 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.
Fonctionnalités améliorées
Ajouter des informations supplémentaires sur le modèle aux événements LLM de la chaîne LangChain
- Ajoutez les attributs
request.modeletresponse.modelaux événements LLM produits par les chaînes LangChain. - Ces informations sont récupérées au mieux et peuvent ne pas toujours être disponibles.
- Ajoutez les attributs
Bugs
Correction de TypeError dans l'instrumentation de streaming de LangGraph
- Auparavant, lors de l’utilisation d’un sous-ensemble d’API de streaming dans LangGraph, l’agent rencontrait un
TypeErroren raison de l’utilisation deweakref.WeakMethodpar LangGraph. Cela a été corrigé, et l'agent devrait maintenant fonctionner correctement avec ces méthodes de streaming LangGraph.
- Auparavant, lors de l’utilisation d’un sous-ensemble d’API de streaming dans LangGraph, l’agent rencontrait 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 ajoute la prise en charge de plusieurs nouvelles commandes Redis, corrige un bug dans l'instrumentation de LangGraph, et améliore la gestion et le logging des paramètres de limite de collecte.
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.
Fonctionnalités améliorées
Ajouter l'instrumentation pour les nouvelles commandes Redis v8.8.0
Ajoutez l’instrumentation pour les nouvelles commandes Redis suivantes de redis-py v8.8.0 :
- Commandes diverses : INCREX, XNACK
- Commandes d'éventail : ARCOUNT, ARDEL, ARDELRANGE, ARGET, ARGETRANGE, ARGREP, ARINFO, ARINSERT, ARLASTITEMS, ARLEN, ARMGET, ARMSET, ARNEXT, AROP, ARRING, ARSCAN, ARSEEK, ARSET
Bugs
Correction d'un crash dans l'instrumentation de LangGraph
- Auparavant, lors de l'utilisation de l'instrumentation LangGraph, l'agent plantait en raison d'un problème de propagation du contexte vers les tâches dans AsyncBackgroundExecutor. Cela a été corrigé, et l'agent devrait maintenant fonctionner correctement avec LangGraph.
Amélioration de la gestion et du logging des paramètres de limite de collecte
- L'agent rapporte désormais avec plus de précision la liste des méthodes de collecte et des limites à l'onglet Environnement dans New Relic One.
- L'agent dispose désormais d'un logging de débogage plus cohérente au démarrage pour les paramètres de limite de collecte.
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 corrige un problème de propagation du contexte dans LangChain et LangGraph, un problème d'enregistrement de complétion de chat OpenAI, et un problème lors de l'utilisation du streaming OpenAI(https://pypi.org/project/openai) via LiteLLM comme proxy.
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.
Bugs
Correction de la propagation du contexte dans LangChain et LangGraph
Corriger un problème d'enregistrement de complétion de chat OpenAI
- OpenAI a réintroduit une logique qui ferme la réponse en streaming même si le consommateur n’a pas lu toutes les données. Auparavant, les données de complétion de chat n'étaient enregistrées que lorsque la fin du flux était atteinte, ce qui faisait que les données de complétion de chat n'étaient pas enregistrées lors de la fermeture du flux. Une logique a maintenant été ajoutée pour capturer les données de complétion de chat même si le flux n'a pas été entièrement lu.
Correction d'un problème lors de l'utilisation du streaming OpenAI via LiteLLM en tant que proxy
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
This release of the Python agent removes support for Python lambda function in the config file, excludes the newrelic header by default, adds support for exclude and include settings for Hybrid Agent traces, anthropic instrumentation, gemini response streaming, improves caching of IS_PYPY in gc_data.py for performance, and adds http.statusCode attribute in transaction events. This release also resends modules during reconnect ensuring they are recorded, guards garbage collection metrics against re-entrant calls, fixes task propagation in async generators and starlette context propagation in StreamingResponse.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
Removed features
Remove support for Python lambda functions in the config file
- Previously, the agent allowed specifying a Python lambda function to dynamically name transactions, background task, database trace, profile trace, external trace url and method, function trace, generator trace, and memcache trace. Since support for this feature exposes a security vulnerability in the agent this feature is being removed.
Deprecations
- The
response.statusattribute inWebTransactions is considered deprecated and will be removed in the upcoming 14.0.0 release. It is being replaced byhttp.statusCode. We recommend replacing all references toresponse.statuswithhttp.statusCode.
New features
Exclude the
newrelicheader by default- The
newrelicdistributed tracing header is now no longer sent by default. Only the W3Ctraceparentandtracestateheaders will be sent.
- The
Add exclude and include settings for Hybrid Agent traces
opentelemetry.traces.includefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEto be used as an environment variableopentelemetry.traces.excludefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEto be used as an environment variable
The Hybrid Agent's default behavior will be different as well. Now, only libraries and tracers that are supported by OpenTelemetry but not already supported by New Relic will utilize OpenTelemetry's instrumentation. Otherwise, the agent will default to the New Relic instrumentation hooks.
More information about these settings can be found in the Python Agent configuration page as well as the OpenTelemetry API support page.
Add Anthropic streaming instrumentation
- Adds instrumentation support for anthropic.
Improve caching of IS_PYPY in gc_data.py for performance
Now checks and caches IS_PYPY once when the module is loaded.
Add Gemini response streaming
- Add response streaming support to Gemini through the google-genai package.
Add
http.statusCodeattribute to transaction events- To conform with the rest of the language agents, the Python agent now sends the http status to the
WebTransactionattributehttp.statusCode. The Python agent will continue to send the attribute toresponse.statusas well, but theresponse.statusattribute will be removed in the future.
- To conform with the rest of the language agents, the Python agent now sends the http status to the
Bugs
Resend modules during reconnect
- The agent previously only sent the module list periodically after the first connect cycle. If the agent reconnected to the collector, this data would not be resubmitted, so the UI would no longer show the module data. This has now been fixed.
Guard garbage collection metrics against re-entrant calls
- Adds a flag to prevent re-entrant calls to
_GCDataSource.record_gc()to prevent infinite recursion on Python 3.13+.
- Adds a flag to prevent re-entrant calls to
Enable task propagation in async generators
- Fixes an issue where
AsyncGeneratorProxywould not properly handle transaction context propagation if spread over multiple tasks.
- Fixes an issue where
Fix Starlette context propagation in
StreamingResponse- Adds trace context propagation to starlette
StreamingResponsefor both synchronous and asynchronous generators.
- Adds trace context propagation to starlette
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.