Remarques
Cette sortie de l'agent Python supprime la prise en charge de la fonction Lambda Python dans le fichier de configuration, exclut l'en-tête newrelic par défaut, ajoute la prise en charge des paramètres d'exclusion et d'inclusion pour les traces de l'agent hybride, de l'instrumentation anthropic, du streaming des réponses gemini, améliore la mise en cache de IS_PYPY dans gc_data.py pour les performances, et ajoute l'attribut http.statusCode dans les événements de transaction. Cette sortie renvoie également les modules lors de la reconnexion en s’assurant qu’ils sont enregistrés, protège les métriques de récupération de mémoire contre les appels réentrants, corrige la propagation des tâches dans les générateurs asynchrones et la propagation du contexte starlette dans StreamingResponse.
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é supprimée
Supprimer la prise en charge des fonctions Lambda Python dans le fichier de configuration
- Auparavant, l'agent permettait de spécifier une fonction Lambda Python pour nommer dynamiquement les transactions, la tâche en arrière-plan, la trace de base de données, la trace de profil, l'URL et la méthode de trace externe, la trace de fonction, la trace de générateur, et la trace memcache. Puisque la prise en charge de cette fonctionnalité expose une vulnérabilité de sécurité dans l'agent, cette fonctionnalité est supprimée.
Dépréciations
- L'attribut
response.statusdans lesWebTransactions est considéré comme obsolète et sera supprimé lors de la prochaine sortie 14.0.0. Il est remplacé parhttp.statusCode. Nous recommandons de remplacer toutes les références àresponse.statusparhttp.statusCode.
Nouvelles fonctionnalités
Exclure l'en-tête
newrelicpar défaut- L'en-tête de tracing distribué
newrelicn'est désormais plus envoyé par défaut. Seuls les en-têtes W3Ctraceparentettracestateseront envoyés.
- L'en-tête de tracing distribué
Ajouter des paramètres d'exclusion et d'inclusion pour les traces Hybrid Agent
opentelemetry.traces.includepour que le fichier de configuration ouNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEsoit utilisé comme variable d'environnementopentelemetry.traces.excludepour que le fichier de configuration ouNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEsoit utilisé comme variable d'environnement
Le comportement par défaut de l'Agent hybride sera également différent. Désormais, seules les bibliothèques et les traceurs qui sont pris en charge par OpenTelemetry, mais pas déjà pris en charge par New Relic, utiliseront l'instrumentation d'OpenTelemetry. Sinon, l'agent utilisera par défaut les hooks d'instrumentation de New Relic.
Vous trouverez plus d’informations sur ces paramètres sur la page de configuration de l’agent Python ainsi que sur la page de prise en charge de l’API OpenTelemetry.
Ajouter l'instrumentation de streaming Anthropic
- Ajoute la prise en charge de l’instrumentation pour anthropic.
Améliorer la mise en cache de IS_PYPY dans gc_data.py pour les performances
Vérifie et met désormais en cache IS_PYPY une fois lorsque le module est chargé.
Ajouter le streaming de réponse Gemini
- Ajouter la prise en charge du streaming des réponses à Gemini via le package google-genai.
Ajouter l'attribut
http.statusCodeaux événements de transaction- Pour se conformer au reste des agents de langage, l'agent Python envoie désormais le statut http à l'attribut
WebTransactionhttp.statusCode. L'agent Python continuera à envoyer l'attribut àresponse.statuségalement, mais l'attributresponse.statussera supprimé à l'avenir.
- Pour se conformer au reste des agents de langage, l'agent Python envoie désormais le statut http à l'attribut
Bugs
Renvoyer les modules lors de la reconnexion
- Auparavant, l'agent n'envoyait la liste des modules que périodiquement après le premier cycle de connexion. Si l'agent se reconnectait au collecteur, ces données ne seraient pas soumises à nouveau, l'interface utilisateur n'afficherait donc plus les données du module. Ce problème est maintenant résolu.
Protéger les métriques de garbage collection contre les appels réentrants
- Ajoute un indicateur pour empêcher les appels réentrants à
_GCDataSource.record_gc()afin d’éviter une récursion infinie sur Python 3.13+.
- Ajoute un indicateur pour empêcher les appels réentrants à
Activer la propagation des tâches dans les générateurs asynchrones
- Corrige un problème où
AsyncGeneratorProxyne gérait pas correctement la propagation du contexte de transaction si elle était répartie sur plusieurs tâches.
- Corrige un problème où
Correction de la propagation du contexte Starlette dans
StreamingResponse- Ajoute la propagation du contexte de trace à starlette
StreamingResponsepour les générateurs synchrones et asynchrones.
- Ajoute la propagation du contexte de trace à starlette
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.