Notes
This release of the Python agent provides fixes for early activation in Django instrumentation, server side overrides for max_samples_stored
being ignored, and guards against crashes from trace_cache.pop()
.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug fixes
Prevents early activation in Django instrumentation
- Remove calls to
application_settings()
in Django instrumentation to prevent issues with early activations in pre-fork applications.
- Remove calls to
Fix server configuration to local configuration sync issues
- This fixes a bug created when
event_harvest_config.harvest_limits.*
settings were deprecated in favor of*.max_samples_stored
settings. Some server side configurations were not overriding the client side configurations, resulting in data being sent to the collector despite the user disabling this.
- This fixes a bug created when
Guard against crashes from
trace_cache.pop()
- In the
ContextOf
class, there was an unsafe access of thetrace_cache
viapop(key)
without a default value. This caused crashes when theweakref
in the dictionary was already garbage collected.
- In the
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.
Notas
Esta versión del agente Python realiza los siguientes cambios:
- Elimina la compatibilidad con Python 3.7
- Elimina o desaprueba varias API y configuraciones
- Se desestima la instrumentación aioredis
- Aumenta la versión mínima compatible de
setuptools
ysetuptools_scm
- Agrega nueva instrumentación para AutoGen
- Agrega nueva instrumentación para Pyzeebe
- Agrega nuevos intervalos con nombre MCP (Protocolo de contexto de modelo)
- Corrige un fallo en psycopg
- Garantiza que los intervalos de MCP solo se registren cuando el monitoreo de IA está habilitado
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Característica eliminada
Elimina la compatibilidad con Python 3.7
- Python 3.7 finalizó su vida útil el 27 de junio de 2023. El agente de Python dejó de brindar soporte para este.
Elimina varias API obsoletas
Se eliminaron las siguientes API:
APIheredada API de reemplazo accept_distributed_trace_payload
accept_distributed_trace_headers
add_custom_parameter
add_custom_attribute
add_custom_parameters
add_custom_attributes
create_distributed_trace_payload
insert_distributed_trace_headers
get_browser_timing_footer
La funcionalidad de esto se incluyó en get_browser_timing_header()
record_exception
notice_error()
NewRelicLogHandler
NewRelicLogForwardingHandler
lambda_handler
&LambdaHandlerWrapper
Estas API se trasladaron al paquete newrelic-lambda
.
Elimina varias configuraciones obsoletas
Se eliminaron las siguientes configuraciones:
Configuración heredada Ajuste de reemplazo transaction_tracer.capture_attributes
transaction_tracer.attributes.enabled
error_collector.capture_attributes
error_collector.attributes.enabled
browser_monitoring.capture_attributes
browser_monitoring.attributes.enabled
analytics_events.enabled
transaction_events.enabled
analytics_events.capture_attributes
transaction_events.attributes.enabled
error_collector.ignore_errors
error_collector.ignore_classes
strip_exception_messages.whitelist
strip_exception_messages.allowlist
ssl
Esto ahora está codificado en true
, por lo que se eliminó como opción de configuración.ignored_params
Emplee newrelic.attributes.exclude = request.parameters.{name}
en su lugar. Agregue cada clave de parámetro de solicitud a la listanewrelic.attributes.exclude
, delimitada por comas. Cerciorar de anteponerrequest.parameters
a la clave.agent_limits.merge_stats_maximum
Esto ahora se ignora por completo en favor de la configuración del lado del servidor.
Característica obsoleta
La instrumentación para aioredis quedó obsoleta
Desestima algunas configuraciones de recolección existentes para que coincidan con otros agentes de idiomas
Para ser más coherentes con las convenciones del otro agente de idioma, las siguientes configuraciones de recolección ahora están obsoletas:
Configuración heredada Ajuste de reemplazo event_harvest_config.harvest_limits.analytic_event_data
transaction_events.max_samples_stored
event_harvest_config.harvest_limits.span_event_data
span_events.max_samples_stored
event_harvest_config.harvest_limits.error_event_data
error_collector.max_event_samples_stored
event_harvest_config.harvest_limits.custom_event_data
custom_insights_events.max_samples_stored
event_harvest_config.harvest_limits.log_event_data
application_logging.forwarding.max_samples_stored
Esto es una reversión de un cambio anterior que renombró estas configuraciones del formato
*.max_samples_stored
al formatoevent_harvest_config.harvest_limits.*
. Se revirtió esta decisión y se restauraron las configuraciones originales nombradas para que coincidan con el otro agente de idioma que no cambió los nombres de estas configuraciones. Las configuraciones obsoletas seguirán funcionando por ahora, pero se eliminarán en una versión futura.
Desaprobó la configuración del agente a través del diccionario de entorno WSGI
Las siguientes configuraciones que antes se podían configurar a través del diccionario de entorno WSGI ahora están obsoletas. Configure estos ajustes a través de las variables de entorno o el archivo de configuración.
newrelic.set_background_task
newrelic.suppress_apdex_metric
newrelic.suppress_transaction_trace
newrelic.capture_request_params
newrelic.disable_browser_autorum
Se desaprueba la compatibilidad con la creación del agente con
setuptools<61.2
osetuptools_scm<6.4
- Las versiones mínimas admitidas de
setuptools
ysetuptools_scm
se aumentaron a61.2
y6.4
respectivamente. Esto es para respaldar el uso depyproject.toml
para configurar los metadatos del paquete y las instrucciones de construcción. El agente ahora se puede construir con herramientas de construcción más modernas que ya no registrarán advertencias sobre la falta de un archivopyproject.toml
. - Este cambio agrega un nuevo atributo de versión a los paquetes,
newrelic.__version__
ynewrelic.__version_tuple__
, que se pueden usar para verificar programáticamente la versión del agente en tiempo de ejecución.
- Las versiones mínimas admitidas de
Nueva característica
Agrega nueva instrumentación para AutoGen
- Agrega instrumentación (spans con nombre y eventos
Llm
personalizados) para agentes y herramientas en AutoGen
- Agrega instrumentación (spans con nombre y eventos
Agrega nueva instrumentación para Pyzeebe
- Agrega instrumentación automática y atributo de agente específico frameworkpara Pyzeebe.
Agrega nuevos intervalos con nombre MCP (Protocolo de contexto de modelo)
- Agrega nuevos intervalos con nombre para las llamadas a la herramienta MCP (Protocolo de contexto de modelo) realizadas a través del administrador de herramientas para admitir HTTP transmitible
Corrección de errores
Corrige un fallo en
psycopg>=3.2.0
al llamaras_string()
- Corrige un problema en
psycopg>=3.2.0
donde el métodoas_string()
ya no requería argumentos, lo que causaba un posible bloqueo. Esto se solucionó y ahora se admiten ambas firmas de este método.
- Corrige un problema en
Garantiza que los intervalos de MCP (Protocolo de contexto de modelo) solo se registren cuando el monitoreo de IA está habilitado
- Garantiza que los intervalos MCP (Protocolo de contexto de modelo) solo se registren cuando la configuración
ai_monitoring.enabled
está habilitada.
- Garantiza que los intervalos MCP (Protocolo de contexto de modelo) solo se registren cuando la configuración
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente Python agrega soporte para lo siguiente:
- Tareas personalizadas en Celery
- Monitoreo de Graphene-Django
- Filtrado de middleware en Django
- API de AWS Bedrock Converse
- Bandera muestreada del encabezado W3CTraceParent
Esta versión también proporciona las siguientes correcciones:
- Salvaguardias para la ruta única más profunda en GraphQL
- Medidas de seguridad para el análisis de solicitudes de URL sitio web
- Respaldo para ElasticSearch y GraphQL cuando
trace.settings==None
- Eliminar el método
options
de la lista de clientes de ElasticSearch asíncronos
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para tareas personalizadas en Celery
Agrega soporte para Graphene-Django
- Agregue soporte de monitoreo para esquemas sincrónicos creados con Graphene-Django. Anteriormente, los esquemas creados con Graphene-Django solo se monitoreaban parcialmente, lo que generaba que faltaran atributos relacionados con GraphQL.
Agrega soporte para filtrado de middleware en Django
Los usuarios ahora pueden filtrar qué middleware Django monitorear. Ahora hay tres configuraciones adicionales:
instrumentation.middleware.django.enabled
(El valor predeterminado estrue
)instrumentation.middleware.django.exclude
instrumentation.middleware.django.include
Consulte la página de filtrado de middleware de Django para obtener más información y ejemplos.
Agrega soporte para la API de AWS Bedrock Converse
- Agregue soporte de monitoreo para la API de Converse que no es de transmisión. Esto incluye soporte para
converse
llamadas de finalización de chat realizadas empleando clientesboto3
yaioboto3
.
- Agregue soporte de monitoreo para la API de Converse que no es de transmisión. Esto incluye soporte para
Agrega compatibilidad con el indicador muestreado del encabezado W3CTraceParent
- Cuando un servicio ascendente envía el encabezado W3CTraceParent con el indicador de ejemplificación establecido, New Relic tendrá en cuenta esa decisión de ejemplificación al decidir si se muestreará la transacción actual.
Se agregó soporte para tomar decisiones de ejemplificación en función de si el padre remoto está muestreado
Se agregó soporte para dos nuevas opciones de configuración:
distributed_tracing.sampler.remote_parent_sampled
distributed_tracing.sampler.remote_parent_not_sampled
default
es el comportamiento predeterminado y se comporta como lo hacía antes de este cambio (pasa la decisión de ejemplificación al algoritmo de ejemplificación adaptativa para determinar si se muestreará la transacción).always_on
significa que la traza que tiene un padre remoto muestreado o un padre remoto no muestreado siempre será muestreada.always_off
significa que la traza que tiene un padre remoto muestreado o un padre remoto no muestreado nunca será muestreado.
Corrección de errores
Agregar protección para la ruta única más profunda en GraphQL
- Algunos usuarios estaban experimentando problemas con la ruta única más profunda en GraphQL que no se generaba debido a que un nombre de campo devolvía
None
. Este problema fue solucionado.
- Algunos usuarios estaban experimentando problemas con la ruta única más profunda en GraphQL que no se generaba debido a que un nombre de campo devolvía
Agregar protección para el análisis de solicitudes sitio web
- Algunos usuarios experimentaron un error de análisis cuando
request_uri
estaba mal formado o contenía caracteres no válidos. Esto puede suceder en este punto si elrequest_uri
en el encabezado de la solicitud no es válido y no coincide con la URL (válida) proporcionada originalmente. Si bien esta protección ya se implementó en New Relic,urllib
resolvió este problema para las versiones de Python lanzadas luego del 31 de enero de 2025.
- Algunos usuarios experimentaron un error de análisis cuando
Se solucionó el fallo en ElasticSearch y GraphQL cuando
trace.settings==None
- En los casos donde
trace.settings
esNone
, la instrumentación de ElasticSearch hizo que la aplicación fallara. Se implementó un respaldoglobal_settings
. Esto también resuelve el mismo problema encontrado en GraphQL.
- En los casos donde
Eliminar el método
options
de la lista de clientes de ElasticSearch asíncronos- La instrumentación anterior de ElasticSearch provocó un bloqueo porque
options
estaba en la lista de métodos asincrónicos. Este método ya no está envuelto en unDatastoreTrace
ya que no es uno que realice ninguna operación/requests de almacenamiento de datos.
- La instrumentación anterior de ElasticSearch provocó un bloqueo porque
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente Python agrega soporte para nuevas funciones de Redis , convierte todas las rutas internas de os.path
a pathlib.Path
y corrige un problema con la codificación JSON de PosixPaths.
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para nuevas funciones de Redis
- Agregar instrumentación para nuevas funciones de Redis .
Convierte todas las rutas internas de
os.path
apathlib.Path
- Convierta todo el uso interno de rutas basadas en cadenas y
os.path
apathlib.Path
en preparación para admitir rutas de Windows.
- Convierta todo el uso interno de rutas basadas en cadenas y
Corrección de errores
Solucionar el problema con la codificación JSON de PosixPath
- Algunos usuarios estaban experimentando problemas con la configuración de codificación JSON
PosixPath
. Este problema fue solucionado.
- Algunos usuarios estaban experimentando problemas con la configuración de codificación JSON
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notas
Esta versión del agente Python agrega soporte para oracledb, corrige un error en Kombu y Kafka donde el objeto MessageTransaction
no tiene el atributo destination_name
y corrige la desaparición de los metadatos de utilización con AWS.
Instale el agente usando easy_install/pip/distribute
a través del Índice de paquetes de Python o descárguelo directamente del sitio de descarga de New Relic.
Nueva característica
Agrega soporte para oracledb
- Agregar instrumentación para oracledb.
Corrección de errores
Se solucionó el error "El objeto
MessageTransaction
no tiene el atributodestination_name
".- Se corrige un error en la instrumentación de MessageBroker donde los métodos serialize buscaban el atributo
destination_name
enMessageTransaction
y no existía.
- Se corrige un error en la instrumentación de MessageBroker donde los métodos serialize buscaban el atributo
Solucionar el problema de metadatos de utilización de AWS al ejecutar AWS y K8s juntos
- Debido a la configuración de licencias en el pod K8s que se ejecuta en instancias EC2 AWS, los metadatos de utilización se pueden recuperar la primera vez. Sin embargo, si la aplicación se deja ejecutar continuamente, el agente se volverá a conectar y los metadatos de utilización no podrán cargar. En casos como estos, los metadatos de utilización se almacenan en caché por instancia de agente y se pueden recuperar.
Declaración de apoyo
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Python política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
Notes
This release of the Python agent adds support for Azure Function Apps and protobuf v6.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
New features
Adds support for Azure Function Apps
- Adds support for Azure Function Apps for HTTPTrigger types.
Bug fixes
Adds pb2 files to enable protobuf v6 support
- Previously, several google packages were not compatible with New Relic due to the lack of protobuf v6 support. This has now been resolved.
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.