Notas
Esta versión del agente de Python elimina el soporte para la función Lambda de Python en el archivo de configuración, excluye el encabezado newrelic de forma predeterminada, agrega soporte para las configuraciones de exclusión e inclusión para las trazas del agente híbrido, la instrumentación de anthropic, la transmisión de respuestas de gemini, mejora el almacenamiento en caché de IS_PYPY en gc_data.py para el rendimiento y agrega el atributo http.statusCode en los eventos de transacción. Esta versión también reenvía módulos durante la reconexión asegurando que se registren, protege las métricas de recolección de basura contra llamadas reentrantes, corrige la propagación de tareas en generadores asíncronos y la propagación del contexto de starlette en StreamingResponse.
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 eliminada
Eliminar el soporte para las funciones Lambda de Python en el archivo de configuración
- Anteriormente, el agente permitía especificar una función Lambda de Python para nombrar dinámicamente transacciones, tarea en segundo plano, traza de base de datos, traza de perfil, URL y método de traza externa, traza de función, traza de generador y traza de memcache. Dado que el soporte para esta característica expone una vulnerabilidad de seguridad en el agente, esta característica se está eliminando.
Desusos
- El atributo
response.statusenWebTransactions se considera obsoleto y se eliminará en la próxima versión 14.0.0. Está siendo reemplazado porhttp.statusCode. Recomendamos reemplazar todas las referencias aresponse.statusporhttp.statusCode.
Nueva característica
Excluir el encabezado
newrelicpor defecto- El encabezado de rastreo distribuido
newrelicya no se envía por defecto. Solo se enviarán los encabezadostraceparentytracestatede W3C.
- El encabezado de rastreo distribuido
Agregar configuraciones de exclusión e inclusión para las trazas del agente híbrido
opentelemetry.traces.includepara el archivo de configuración oNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEpara usarse como variable de entornoopentelemetry.traces.excludepara el archivo de configuración oNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEpara usarse como variable de entorno
El comportamiento predeterminado del agente híbrido también será diferente. Ahora, solo las bibliotecas y los rastreadores compatibles con OpenTelemetry pero que aún no son compatibles con New Relic utilizarán la instrumentación de OpenTelemetry. De lo contrario, el agente utilizará por defecto los hooks de instrumentación de New Relic.
Puede encontrar más información sobre estos ajustes en la página de configuración del agente de Python, así como en la página de soporte de la API de OpenTelemetry.
Agrega instrumentación de streaming de Anthropic
- Agrega soporte de instrumentación para anthropic.
Mejorar el almacenamiento en caché de IS_PYPY en gc_data.py para un mejor rendimiento
Ahora verifica y almacena en caché IS_PYPY una vez cuando se carga el módulo.
Agregar transmisión de respuestas de Gemini
- Agrega soporte para streaming de respuestas a Gemini a través del paquete google-genai.
Agregar el atributo
http.statusCodea los eventos de transacción- Para estar en conformidad con el resto de los agentes de lenguaje, el agente de Python ahora envía el estado http al atributo
WebTransactionhttp.statusCode. El agente de Python continuará enviando el atributo aresponse.statustambién, pero el atributoresponse.statusse eliminará en el futuro.
- Para estar en conformidad con el resto de los agentes de lenguaje, el agente de Python ahora envía el estado http al atributo
Errores
Reenviar módulos durante la reconexión
- El agente anteriormente solo enviaba la lista de módulos periódicamente después del primer ciclo de conexión. Si el agente se reconectara al recolector, estos datos no se volverían a enviar, por lo que la UI ya no mostraría los datos del módulo. Esto ya fue solucionado.
Proteger las métricas de recolección de basura contra llamadas reentrantes
- Agrega un indicador para evitar llamadas reentrantes a
_GCDataSource.record_gc()y prevenir la recursión infinita en Python 3.13+.
- Agrega un indicador para evitar llamadas reentrantes a
Habilitar la propagación de tareas en generadores asíncronos
- Soluciona un problema en el que
AsyncGeneratorProxyno manejaba correctamente la propagación del contexto de la transacción si se distribuía en varias tareas.
- Soluciona un problema en el que
Corregir la propagación del contexto de Starlette en
StreamingResponse- Agrega la propagación del contexto de traza a starlette
StreamingResponsetanto para generadores sincrónicos como asincrónicos.
- Agrega la propagación del contexto de traza a starlette
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.