Notes
This release of the Python agent adds new ways of passing errors to notice_error(), adds support for Strands-Agent synchronous tool error capturing, adds support for gpt-5 and newer OpenAI LLM models, and fixes a crash in Azure Functions' utilization logic.
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.
Features
Add support for exception instances as arguments to
notice_error()notice_error()can now accept a caught exception instance (such as one from a try/except block) for theerrorargument, rather than an exception tuple fromsys.exc_info().This is in addition to and does not replace the existing behavior. Previous usage of
notice_error()with zero arguments or with an exception tuple should still function correctly.
Add support for
gpt-5and newer OpenAI LLM models- Add updates to OpenAI instrumentation to support newer attribute names used with later OpenAI models
Add support for Strands-Agent synchronous tool error capturing
- Synchronous Python functions used as tools in Strands-Agents now have proper error capturing, and capture traces within tools such as database lookups.
Bug fixes
Guard against crashes in Azure Functions utilization
- Previously, some users experienced edge cases where Azure Functions utilization detection would crash when attempting to match regular expressions. The crash has been fixed, and should no longer be possible in the future.
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 agrega soporte para lo siguiente:
- Hebras
- Transmisión de AWS Bedrock Converse
- Métodos Redis
hybrid_searchymsetex - Asignaciones de roles de LangChain para eventos LLM
- timestamp del evento LLM capturada en el momento de la solicitud LLM
loop_factoryparámetro enasyncio.Runner
Esta versión también soluciona un error en la instrumentación ASGI donde el servidor sitio web no informa los encabezados.
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Característica
Agregar soporte para Strands
- Agregar instrumentación para herramientas y agentes de Strands en configuraciones de uno o varios agentes (enjambres, gráficos, etc.)
Agregar soporte para AWS Bedrock Converse Streaming
- Agregue soporte de monitoreo para la transmisión de API de Converse. Esto incluye soporte para llamadas de finalización de chat de Converse realizadas con clientes boto3 y aioboto3 usando
converse_stream().
- Agregue soporte de monitoreo para la transmisión de API de Converse. Esto incluye soporte para llamadas de finalización de chat de Converse realizadas con clientes boto3 y aioboto3 usando
Agregar soporte para métodos Redis
Agregue soporte para los siguientes métodos:
hybrid_searchmsetex
Agregar soporte para
loop_factoryenasyncio.Runner- En Python 3.11, se agregó la clase
asyncio.Runnery también el parámetroloop_factory. El parámetroloop_factoryproporciona un reemplazo para las políticas de bucle. Ahora, el bucle que se crea se instrumenta, independientemente de si es a través de una configuración de bucle de eventos global o un bucle de eventos personalizado.
- En Python 3.11, se agregó la clase
Capturar asignaciones de roles de LangChain en eventos LLM
- El evento LangChain
LlmChatCompletionMessageahora contiene el rol asignado de LangChain.
- El evento LangChain
Capturar timestamp del evento LLM en el momento de la solicitud LLM
- Anteriormente, la timestamp del evento LLM se capturaba en el momento de la creación del evento. Ahora, se captura con mayor precisión el momento de la solicitud de LLM.
Corrección de errores
Consumo de encabezado ASGI
- Cuando un
ASGIWebTransactionconsume los encabezados de un eventohttp.response.start, lo hace sin tener en cuenta los tipos de entrada permitidos. Cuando los encabezados son un generador, el generador fue consumido por la llamada aprocess_response()y no dejó ningún encabezado restante para que el servidor sitio web envíe. Esto ya fue solucionado.
- Cuando un
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 Python 3.14, nuevas variables de entorno para la configuración de filtros de atributos, soporte para generadores asíncronos en decoradores de transacciones, modelos adicionales en AWS Bedrock y nuevos métodos en AWS Kinesis. Esta versión también corrige un error en aiomysql que causaba RecursionError al usar ConnectionPool cuando estaba envuelto varias veces, un error donde las propiedades no se pasaban correctamente en el productor de kombu y un error cuando se llama a shutdown_agent desde dentro del hilo de cosecha.
Instale el agente usando easy_install/pip/distribute a través del Índice de paquetes de Python, usando conda a través del Índice de paquetes de Conda-Forge, o descárguelo directamente desde el sitio de descargas de New Relic.
Característica
Agregar soporte para Python 3.14
- Agregar soporte para Python 3.14.
Agregar variables de entorno para la configuración de filtros de atributos
Ahora es posible configurar los siguientes ajustes mediante variables de entorno:
configuración Configuración Variable ambiental attributes.enabledNEW_RELIC_ATTRIBUTES_ENABLEDattributes.excludeNEW_RELIC_ATTRIBUTES_EXCLUDEattributes.includeNEW_RELIC_ATTRIBUTES_INCLUDEbrowser_monitoring.attributes.enabledNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLEDbrowser_monitoring.attributes.excludeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDEbrowser_monitoring.attributes.includeNEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDEerror_collector.attributes.enabledNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLEDerror_collector.attributes.excludeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDEerror_collector.attributes.includeNEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDEspan_events.attributes.enabledNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLEDspan_events.attributes.excludeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDEspan_events.attributes.includeNEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDEtransaction_events.attributes.enabledNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLEDtransaction_events.attributes.excludeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDEtransaction_events.attributes.includeNEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDEtransaction_segments.attributes.enabledNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLEDtransaction_segments.attributes.excludeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDEtransaction_segments.attributes.includeNEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDEtransaction_tracer.attributes.enabledNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLEDtransaction_tracer.attributes.excludeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDEtransaction_tracer.attributes.includeNEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE
Agregar soporte para generadores asíncronos en los decoradores de errores
- Anteriormente, los decoradores de transacción no admitían ser envueltos alrededor de generadores asíncronos. Se agregó esta funcionalidad y las transacciones de generadores asíncronos ahora medirán automáticamente el tiempo de espera del bucle de eventos y otras estadísticas.
Agregar compatibilidad con modelos adicionales en la instrumentación de AWS Bedrock
Actualiza la instrumentación de AWS Bedrock mediante botocore y aiobotocore para admitir los siguientes modelos adicionales.
- Modelos Claude Sonnet 3+
- Modelos que tienen como prefijo una región (con reconocimiento de región)
Agregar instrumentación para los nuevos métodos de Kinesis
Agrega instrumentación de botocore para admitir nuevos métodos de AWS Kinesis
describe_account_settingsupdate_account_settingsupdate_max_record_sizeupdate_stream_warm_throughput
Corrección de errores
Evitar un error de recursión en el grupo de conexiones de aiomysql
- Anteriormente, se generaba un
RecursionErroren aiomysql al usar conexiones agrupadas. Se crearon cadenas profundasObjectProxyalrededor de las conexiones agrupadas debido al envolvimiento repetido. Esto ya está solucionado.
- Anteriormente, se generaba un
Se corrigió un error por el cual las propiedades no se pasaban correctamente al productor de kombu.
- Se corrigió un error por el cual la instrumentación para
kombu.messaging.Producer.publish()provocaba que las propiedades se anidaran accidentalmente dentro del diccionario, lo que hacía que las propiedades estuvieran en el lugar incorrecto y no fueran leídas por los paquetes posteriores.
- Se corrigió un error por el cual la instrumentación para
Corregir error al llamar a
shutdown_agentdesde dentro del hilo de cosecha- Anteriormente, podía ocurrir un
RuntimeErrorcuando se llamabashutdown_agentdesde dentro del hilo de cosecha. Esto soluciona ese problema agregando una protección para evitar el fallo.
- Anteriormente, podía ocurrir un
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 proporciona correcciones para la activación temprana en la instrumentación de Django, anulaciones del lado del servidor para max_samples_stored que se ignoran y protección contra fallas de trace_cache.pop().
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.
Corrección de errores
Previene la activación temprana en la instrumentación de Django
- Eliminar llamadas a
application_settings()en la instrumentación Django para evitar problemas con activaciones tempranas en aplicaciones pre-fork.
- Eliminar llamadas a
Solucionar problemas de sincronización de la configuración del servidor con la configuración local
- Esto corrige un error creado cuando las configuraciones
event_harvest_config.harvest_limits.*quedaron obsoletas en favor de las configuraciones*.max_samples_stored. Algunas configuraciones del lado del servidor no anulaban la configuración del lado del cliente, lo que provocaba que los datos se enviaran al recopilador a pesar de que el usuario lo deshabilitara.
- Esto corrige un error creado cuando las configuraciones
Proteger contra accidentes por
trace_cache.pop()- En la clase
ContextOf, hubo un acceso inseguro detrace_cachea través depop(key)sin un valor predeterminado. Esto provocó fallos cuando elweakrefen el diccionario ya fue recolectado como basura.
- En la clase
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 fue retirada.
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
setuptoolsysetuptools_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_payloadaccept_distributed_trace_headersadd_custom_parameteradd_custom_attributeadd_custom_parametersadd_custom_attributescreate_distributed_trace_payloadinsert_distributed_trace_headersget_browser_timing_footerLa funcionalidad de esto se incluyó en get_browser_timing_header()record_exceptionnotice_error()NewRelicLogHandlerNewRelicLogForwardingHandlerlambda_handler&LambdaHandlerWrapperEstas 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_attributestransaction_tracer.attributes.enablederror_collector.capture_attributeserror_collector.attributes.enabledbrowser_monitoring.capture_attributesbrowser_monitoring.attributes.enabledanalytics_events.enabledtransaction_events.enabledanalytics_events.capture_attributestransaction_events.attributes.enablederror_collector.ignore_errorserror_collector.ignore_classesstrip_exception_messages.whiteliststrip_exception_messages.allowlistsslEsto ahora está codificado en true, por lo que se eliminó como opción de configuración.ignored_paramsEmplee 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.parametersa la clave.agent_limits.merge_stats_maximumEsto 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_datatransaction_events.max_samples_storedevent_harvest_config.harvest_limits.span_event_dataspan_events.max_samples_storedevent_harvest_config.harvest_limits.error_event_dataerror_collector.max_event_samples_storedevent_harvest_config.harvest_limits.custom_event_datacustom_insights_events.max_samples_storedevent_harvest_config.harvest_limits.log_event_dataapplication_logging.forwarding.max_samples_storedEsto es una reversión de un cambio anterior que renombró estas configuraciones del formato
*.max_samples_storedal 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_tasknewrelic.suppress_apdex_metricnewrelic.suppress_transaction_tracenewrelic.capture_request_paramsnewrelic.disable_browser_autorum
Se desaprueba la compatibilidad con la creación del agente con
setuptools<61.2osetuptools_scm<6.4- Las versiones mínimas admitidas de
setuptoolsysetuptools_scmse aumentaron a61.2y6.4respectivamente. Esto es para respaldar el uso depyproject.tomlpara 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
Llmpersonalizados) 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.0al llamaras_string()- Corrige un problema en
psycopg>=3.2.0donde 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.enabledestá 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.
Notes
This release of the Python agent adds support for the following:
- Custom tasks in Celery
- Graphene-Django monitoring
- Middleware filtering in Django
- AWS Bedrock Converse API
- W3CTraceParent header sampled flag
This release also provides the following fixes:
- Safeguards for the deepest unique path in GraphQL
- Safeguards for web URL request parsing
- Fallback for ElasticSearch and GraphQL when
trace.settings==None - Remove
optionsmethod from async ElasticSearch client list
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 custom tasks in Celery
Adds support for Graphene-Django
- Add monitoring support for synchronous schemas created with Graphene-Django. Previously, schemas created with Graphene-Django would only be partially monitored, resulting in missing GraphQL related attributes.
Adds support for middleware filtering in Django
Users are now able to filter which Django middleware to monitor. There are now three additional settings:
instrumentation.middleware.django.enabled(Default istrue)instrumentation.middleware.django.excludeinstrumentation.middleware.django.include
See the Django Middleware Filtering page for more information and examples.
Adds support for AWS Bedrock Converse API
- Add monitoring support for non-streaming Converse API. This includes support for
conversechat completion calls made usingboto3andaioboto3clients.
- Add monitoring support for non-streaming Converse API. This includes support for
Adds support for W3CTraceParent header sampled flag
- When an upstream service sends the W3CTraceParent header with the sampling flag set, New Relic will take into account that sampling decision when deciding whether the current transaction will be sampled.
Added support for sampling decisions based on whether the remote parent is sampled
Added support for two new configuration options:
distributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
defaultis the default behavior and behaves as it did before this change (it passes the sampling decision to the adaptive sampling algorithm to determine whether the transaction will be sampled).always_onmeans that the trace that has a remote parent sampled or remote parent not sampled will always be sampled.always_offmeans that the trace that has a remote parent sampled or remote parent not sampled will never be sampled.
Bug fixes
Add safeguard for deepest unique path in GraphQL
- Some users were experiencing issues with the deepest unique path in GraphQL not being generated due to a field name returning
None. This issue has been fixed.
- Some users were experiencing issues with the deepest unique path in GraphQL not being generated due to a field name returning
Add safeguard for web request parsing
- Some users experienced a parsing error when
request_uriwas malformed or contained invalid characters. This can happen at this point if therequest_uriin the request header is invalid and does not match the (valid) URL originally given. While this safeguard has now been put in place in New Relic,urllibhas resolved this issue for versions of Python released after Jan 31, 2025.
- Some users experienced a parsing error when
Fix crash in ElasticSearch and GraphQL when
trace.settings==None- In cases where
trace.settingsisNone, the instrumentation for ElasticSearch crashed the application. Aglobal_settingsfallback has been put in place. This also resolves the same issue found in GraphQL.
- In cases where
Remove
optionsmethod from async ElasticSearch client list- The previous instrumentation of ElasticSearch caused a crash because
optionswas in the list of async methods. This method is no longer wrapped in aDatastoreTracesince it is not one that conducts any datastore operations/requests.
- The previous instrumentation of ElasticSearch caused a crash because
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.