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
options
de 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.exclude
instrumentation.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
converse
effectués à l'aide des clientsboto3
etaioboto3
.
- 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_sampled
distributed_tracing.sampler.remote_parent_not_sampled
default
est 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_on
signifie que la trace qui a un parent distant échantillonné ou un parent distant non échantillonné sera toujours échantillonnée.always_off
signifie 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_uri
dans 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,urllib
a 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.settings
estNone
, l'instrumentation pour ElasticSearch a fait planter l'application. Une solution de secoursglobal_settings
a été mise en place. Cela résout également le même problème rencontré dans GraphQL.
- Dans les cas où
Supprimer la méthode
options
de la liste des clients ElasticSearch asynchrones- L'instrumentation précédente d'ElasticSearch a provoqué un crash car
options
figurait dans la liste des méthodes asynchrones. Cette méthode n'est plus encapsulée dans unDatastoreTrace
car 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.