Remarques
Cette sortie de l’agent Python ajoute la prise en charge d’Azure CosmosDB, ajoute l’instrumentation pour HTTPX2 et les nouvelles API d’événements de streaming LangChain/LangGraph, ajoute la prise en charge des nouvelles conventions sémantiques de base de données OpenTelemetry, et résout plusieurs problèmes, notamment le signalement incomplet de packages, une pénalité de performance de recherche de package et un bug de signalement de nom de base de données MySQL.
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.
Nouvelles fonctionnalités
Ajout de la prise en charge d’Azure CosmosDB
- L’agent Python instrumente désormais les opérations client d’ Azure Cosmos DB, signalant les métriques et les traces du datastore pour les opérations de base de données, de conteneur et d’utilisateur effectuées via le SDK
azure-cosmos.
- L’agent Python instrumente désormais les opérations client d’ Azure Cosmos DB, signalant les métriques et les traces du datastore pour les opérations de base de données, de conteneur et d’utilisateur effectuées via le SDK
Ajout de la prise en charge de HTTPX2
Ajout de l’instrumentation des événements de streaming LangChain/LangGraph
Ajout de la prise en charge des nouvelles conventions sémantiques de base de données OpenTelemetry
- Lors de l’exécution de l’agent Python avec OpenTelemetry (mode agent hybride), l’agent lit désormais les noms d’attribut de span de base de données OpenTelemetry legacy et plus récents (
db.name/db.namespace,db.statement/db.query.text,db.mongodb.collection/db.collection.name), de sorte que le tracing de la base de données continue de fonctionner correctement, quelle que soit la version de la convention sémantique que la bibliothèque d’instrumentation OpenTelemetry émet.
- Lors de l’exécution de l’agent Python avec OpenTelemetry (mode agent hybride), l’agent lit désormais les noms d’attribut de span de base de données OpenTelemetry legacy et plus récents (
Bugs
Correction du signalement incomplet des packages à New Relic
- Auparavant, l’agent Python pouvait omettre certains packages installés des données d’environnement signalées à New Relic si la découverte de modules prenait plus de temps que la fenêtre de temps fixe allouée pendant le cycle de collecte lent, et que la liste de packages n’était pas actualisée après un redémarrage de l’agent. La capture de package s’exécute désormais pendant le cycle de collecte rapide et est entièrement recapturée lors de l’arrêt/redémarrage de l’agent, de sorte que la liste de packages signalée est complète.
Réduction de la surcharge des recherches de version de package
- Auparavant, la recherche des versions de package installées analysait à nouveau le système de fichiers pour chaque package à chaque recherche, entraînant une pénalité de temps O(n^2) qui augmentait avec le nombre de packages installés pendant l’initialisation de l’agent. Le résultat de
importlib.metadata.packages_distributions()est désormais mis en cache après la première recherche pour éviter cette surcharge.
- Auparavant, la recherche des versions de package installées analysait à nouveau le système de fichiers pour chaque package à chaque recherche, entraînant une pénalité de temps O(n^2) qui augmentait avec le nombre de packages installés pendant l’initialisation de l’agent. Le résultat de
Correction de
get_linking_metadatapour passer correctement par l’application spécifiée- Auparavant, l'appel de
newrelic.agent.get_linking_metadata(application=...)ignorait l'argumentapplicationet renvoyait toujours les métadonnées de liaison pour l'application par défaut. Cela affectait les processus remontant des données à plus d'une application. L'application spécifiée est désormais correctement transmise. - Merci à ckarnell pour sa contribution !
- Auparavant, l'appel de
Correction du signalement du nom de la base de données MySQL lors de l’utilisation de l’argument mot-clé
database- Auparavant, l’agent vérifiait uniquement l’argument mot-clé legacy
dblors de l’analyse du nom de la base de données à partir des arguments de connexion mysql-connector-python, de sorte que les connexions établies à l’aide de l’argument mot-clé modernedatabasene signalaient aucun nom de base de données dans les métriques du datastore. L’agent vérifie désormaisdatabaseen premier, puis se rabat surdb.
- Auparavant, l’agent vérifiait uniquement l’argument mot-clé legacy
Correction de l’avertissement lors de l’accès aux valeurs
GraphOutputde LangGraph v1.1+- Auparavant, l’instrumentation de LangGraph v1.1+ accédait aux valeurs de retour
GraphOutputà l’aide de la syntaxe d’accès aux éléments obsolète, déclenchant un avertissement d’obsolescence. L’agent lit désormaisGraphOutput.valuedirectement.
- Auparavant, l’instrumentation de LangGraph v1.1+ accédait aux valeurs de retour
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.