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 versão do agente Python adiciona suporte para o seguinte:
- Fios
- AWS Bedrock Converse Streaming
- MƩtodos Redis
hybrid_searchemsetex - Atribuição de funções LangChain para o evento LLM
- timestamp do evento LLM capturado no momento da solicitação do LLM.
loop_factoryparâmetro emasyncio.Runner
Esta versão também corrige um bug na instrumentação ASGI, onde os cabeçalhos não são relatados pelo servidor web.
Instale o agente usando easy_install/pip/distribute atravĆ©s do Ćndice de Pacotes Python, usando conda atravĆ©s do Ćndice de Pacotes Conda-Forge ou baixe-o diretamente do site de download do New Relic.
Recurso
Adicionar suporte para Strands
- Adicionar instrumentação para as ferramentas Strands e para o agente em configurações de agente único e multiagente (enxames, grafos, etc.).
Adicionar suporte para AWS Bedrock Converse Streaming
- Adicionar suporte para monitoramento da API de streaming da Converse. Isso inclui suporte para chamadas de conclusão de bate-papo Converse feitas com clientes boto3 e aioboto3 usando
converse_stream().
- Adicionar suporte para monitoramento da API de streaming da Converse. Isso inclui suporte para chamadas de conclusão de bate-papo Converse feitas com clientes boto3 e aioboto3 usando
Adicionar suporte para mƩtodos Redis
Adicionar suporte para os seguintes mƩtodos:
hybrid_searchmsetex
Adicionar suporte para
loop_factoryemasyncio.Runner- No Python 3.11, a classe
asyncio.Runnerfoi adicionada, assim como o parĆ¢metroloop_factory. O parĆ¢metroloop_factoryfornece uma substituição para polĆticas de loop. Agora, o loop criado Ć© instrumentado, independentemente de ser por meio de uma configuração de loop de eventos global ou de um loop de eventos personalizado.
- No Python 3.11, a classe
Capturar atribuiƧƵes de funƧƵes do LangChain no evento LLM
- O evento LangChain
LlmChatCompletionMessageagora contĆ©m a função atribuĆda do LangChain.
- O evento LangChain
Registre timestamp do evento LLM no momento da solicitação do LLM.
- Anteriormente, o timestamp do evento LLM era capturado no momento da criação do evento. Agora, essa informação é capturada com mais precisão no momento da solicitação do LLM.
CorreƧƵes de bugs
consumo de cabeƧalho ASGI
- Quando um
ASGIWebTransactionconsome os cabeçalhos de um eventohttp.response.start, ele o faz sem levar em consideração os tipos de entrada permitidos. Quando os cabeçalhos são um gerador, o gerador foi consumido pela chamada paraprocess_response()não deixando cabeçalhos restantes para o servidor web enviar. O problema jÔ foi resolvido.
- Quando um
Declaração de apoio
Recomendamos atualizar para a versĆ£o mais recente do agente assim que estiver disponĆvel. Se vocĆŖ nĆ£o puder atualizar para a versĆ£o mais recente, atualize seu agente para uma versĆ£o com no mĆ”ximo 90 dias. Saiba mais sobre como manter o agente atualizado.
Consulte a New Relic Python polĆtica de fim de vida Ćŗtil do agente para obter informaƧƵes sobre lanƧamentos de agentes e datas de suporte.
Notas
Esta versĆ£o do agente Python adiciona suporte Python 3.14, novas variĆ”veis de ambiente para configuraƧƵes de filtro de atributos, suporte para geradores assĆncronos em decoradores de transação, modelos adicionais no AWS Bedrock e novos mĆ©todos no AWS Kinesis. Esta versĆ£o tambĆ©m corrige um bug no aiomysql que causava RecursionError ao usar ConnectionPool onde ele era envolvido vĆ”rias vezes, um bug onde as propriedades nĆ£o eram passadas corretamente no produtor do kombu e um erro quando shutdown_agent Ć© chamado de dentro da thread de colheita.
Instale o agente usando easy_install/pip/distribute atravĆ©s do Ćndice de Pacotes Python, usando conda atravĆ©s do Ćndice de Pacotes Conda-Forge ou baixe-o diretamente do site de download do New Relic.
Recurso
Adicionar suporte para Python 3.14
- Adicionar suporte para Python 3.14.
Adicionar variƔveis de ambiente para configuraƧƵes de filtros de atributos
As seguintes configuraƧƵes agora podem ser definidas por meio de variƔveis de ambiente:
Configuração VariÔvel de ambiente 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
Adicionar suporte para geradores assĆncronos em decoradores de transação.
- Anteriormente, os decoradores de transação nĆ£o suportavam o encapsulamento em geradores assĆncronos. Esse recurso foi adicionado e, agora, as transaƧƵes do gerador assĆncrono medirĆ£o automaticamente o tempo de espera do loop de eventos e outras estatĆsticas.
Adicionar suporte para modelos adicionais na instrumentação do AWS Bedrock.
Atualiza a instrumentação do AWS Bedrock por meio do botocore e do aiobotocore para oferecer suporte aos seguintes modelos adicionais.
- Modelos Claude Sonnet 3+
- Modelos que são prefixados com uma região (com reconhecimento de região)
Adicionar instrumentação para novos métodos Kinesis
Adiciona instrumentação botocore para dar suporte a novos métodos do AWS Kinesis.
describe_account_settingsupdate_account_settingsupdate_max_record_sizeupdate_stream_warm_throughput
CorreƧƵes de bugs
Prevenir um erro de recursão no pool de conexões do aiomysql
- Anteriormente, um
RecursionErrorera gerado no aiomysql ao usar conexƵes agrupadas. Cadeias profundasObjectProxyforam criadas em torno de conexƵes agrupadas devido ao enrolamento repetido. Isso jƔ foi corrigido.
- Anteriormente, um
Corrigido um bug em que as propriedades não eram passadas corretamente no produtor do Kombu.
- Corrigido um bug onde a instrumentação para
kombu.messaging.Producer.publish()estava fazendo com que as propriedades fossem aninhadas acidentalmente dentro do dicionÔrio, fazendo com que as propriedades ficassem no lugar errado e não fossem lidas pelos pacotes subsequentes.
- Corrigido um bug onde a instrumentação para
Corrigir erro quando
shutdown_agentƩ chamado de dentro da thread de colheita.- Anteriormente, um
RuntimeErrorpoderia ocorrer quandoshutdown_agentera chamado de dentro do thread de colheita. Isso resolve o problema adicionando uma proteção para evitar a falha.
- Anteriormente, um
Declaração de apoio
Recomendamos atualizar para a versĆ£o mais recente do agente assim que estiver disponĆvel. Se vocĆŖ nĆ£o puder atualizar para a versĆ£o mais recente, atualize seu agente para uma versĆ£o com no mĆ”ximo 90 dias. Saiba mais sobre como manter o agente atualizado.
Consulte a New Relic Python polĆtica de fim de vida Ćŗtil do agente para obter informaƧƵes sobre lanƧamentos de agentes e datas de suporte.
Notas
Esta versão do agente Python fornece correções para ativação antecipada na instrumentação Django, substituições do lado do servidor para max_samples_stored sendo ignoradas e protege contra travamentos de trace_cache.pop().
Instale o agente usando easy_install/pip/distribute por meio do Ćndice de Pacotes Python ou baixe-o diretamente do site de download do New Relic.
CorreƧƵes de bugs
Impede a ativação antecipada na instrumentação Django
- Remova chamadas para
application_settings()na instrumentação Django para evitar problemas com ativações antecipadas em aplicativos pré-fork.
- Remova chamadas para
Corrigir problemas de sincronização da configuração do servidor com a configuração local
- Isso corrige um bug criado quando as configuraƧƵes
event_harvest_config.harvest_limits.*foram descontinuadas em favor das configurações*.max_samples_stored. Algumas configurações no lado do servidor não estavam substituindo a configuração do lado do cliente, resultando no envio de dados para o coletor apesar do usuÔrio ter desabilitado isso.
- Isso corrige um bug criado quando as configuraƧƵes
Proteja-se contra colisƵes de
trace_cache.pop()- Na classe
ContextOf, houve um acesso inseguro dotrace_cacheviapop(key)sem um valor padrão. Isso causou travamentos quando oweakrefno dicionÔrio jÔ estava coletado como lixo.
- Na classe
Declaração de apoio
Recomendamos atualizar para a versĆ£o mais recente do agente assim que estiver disponĆvel. Se vocĆŖ nĆ£o puder atualizar para a versĆ£o mais recente, atualize seu agente para uma versĆ£o com no mĆ”ximo 90 dias. Saiba mais sobre como manter o agente atualizado.
Consulte a New Relic Python polĆtica de fim de vida Ćŗtil do agente para obter informaƧƵes sobre lanƧamentos de agentes e datas de suporte.
Notas
注ę
Esta versão do agente foi retirada.
Esta versão do agente Python faz as seguintes alterações:
- Remove o suporte para Python 3.7
- Remove e/ou desaprova vƔrias APIs e configuraƧƵes
- Descontinua a instrumentação aioredis
- Aumenta a versĆ£o mĆnima suportada de
setuptoolsesetuptools_scm - Adiciona nova instrumentação para AutoGen
- Adiciona nova instrumentação para Pyzeebe
- Adiciona novos intervalos nomeados MCP (Model Context Protocol)
- Corrige uma falha no psycopg
- Garante que os intervalos do MCP sejam registrados somente quando o monitoramento de IA estiver habilitado
Instale o agente usando easy_install/pip/distribute por meio do Ćndice de Pacotes Python ou baixe-o diretamente do site de download do New Relic.
Recurso removido
Remove o suporte para Python 3.7
- O Python 3.7 foi encerrado em 27 de junho de 2023. O agente Python deixou de oferecer suporte a ele.
Remove vƔrias APIs obsoletas
As seguintes APIs foram removidas:
APIlegado API de substituição accept_distributed_trace_payloadaccept_distributed_trace_headersadd_custom_parameteradd_custom_attributeadd_custom_parametersadd_custom_attributescreate_distributed_trace_payloadinsert_distributed_trace_headersget_browser_timing_footerA funcionalidade disto foi encapsulada em get_browser_timing_header()record_exceptionnotice_error()NewRelicLogHandlerNewRelicLogForwardingHandlerlambda_handler&LambdaHandlerWrapperEssas APIs foram movidas para o pacote newrelic-lambda.
Remove vƔrias configuraƧƵes obsoletas
As seguintes configuraƧƵes foram removidas:
CenĆ”rio de legado Configuração de substituição 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.allowlistsslAgora isso estĆ” codificado em true, por isso foi removido como uma opção de configuração.ignored_paramsUse newrelic.attributes.exclude = request.parameters.{name}em vez disso. Adicione cada chave de parĆ¢metro de solicitação Ć listanewrelic.attributes.exclude, delimitada por vĆrgulas. Certifique-se de preceder a chave comrequest.parameters.agent_limits.merge_stats_maximumAgora isso Ć© completamente ignorado em favor da configuração do lado do servidor.
Recurso obsoleto
A instrumentação para aioredis foi descontinuada
Descontinua algumas configuraƧƵes de coleta existentes para corresponder a outro agente de linguagem
Para ser mais consistente com as convenções do outro agente de linguagem, as seguintes configurações de coleta agora estão obsoletas:
CenÔrio de legado Configuração de substituição 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_storedEsta é uma reversão de uma alteração anterior que renomeou essas configurações de
*.max_samples_storedpara o formatoevent_harvest_config.harvest_limits.*. Esta decisão foi revertida, e as configurações originais nomeadas foram restauradas para corresponder ao outro agente de idioma que não alterou esses nomes de configurações. As configurações obsoletas continuarão funcionando por enquanto, mas serão removidas em uma versão futura.
Descontinua a configuração do agente por meio do dicionÔrio de ambiente WSGI
As seguintes configuraƧƵes, que antes eram possĆveis de serem definidas por meio do dicionĆ”rio de ambiente WSGI, agora estĆ£o obsoletas. Configure essas configuraƧƵes por meio de variĆ”veis de ambiente ou do arquivo de configuração.
newrelic.set_background_tasknewrelic.suppress_apdex_metricnewrelic.suppress_transaction_tracenewrelic.capture_request_paramsnewrelic.disable_browser_autorum
Descontinua o suporte para construção do agente com
setuptools<61.2ousetuptools_scm<6.4- As versƵes mĆnimas suportadas de
setuptoolsesetuptools_scmforam aumentadas para61.2e6.4, respectivamente. Isso é para dar suporte ao uso depyproject.tomlpara configurar os metadados do pacote e instruções de construção. O agente agora pode ser criado com ferramentas de construção mais modernas, que não registrarão mais avisos sobre a falta de um arquivopyproject.toml. - Essa alteração adiciona um novo atributo de versão aos pacotes
newrelic.__version__enewrelic.__version_tuple__, que podem ser usados para verificar programaticamente a versão do agente em tempo de execução.
- As versƵes mĆnimas suportadas de
Novo recurso
Adiciona nova instrumentação para AutoGen
- Adiciona instrumentação (spans nomeados e evento
Llmpersonalizado) para agente e ferramentas no AutoGen
- Adiciona instrumentação (spans nomeados e evento
Adiciona nova instrumentação para Pyzeebe
- Adiciona instrumentação automĆ”tica e atributo de agente especĆfico frameworkpara Pyzeebe
Adiciona novos intervalos nomeados MCP (Model Context Protocol)
- Adiciona novos intervalos nomeados para chamadas de ferramentas MCP (Model Context Protocol) feitas por meio do gerenciador de ferramentas para oferecer suporte a Streamable HTTP
CorreƧƵes de bugs
Corrige uma falha em
psycopg>=3.2.0ao chamaras_string()- Corrige um problema em
psycopg>=3.2.0em que o mĆ©todoas_string()nĆ£o exigia mais argumentos, causando uma possĆvel falha. Isso foi corrigido e ambas as assinaturas deste mĆ©todo sĆ£o suportadas.
- Corrige um problema em
Garante que os intervalos do MCP (Model Context Protocol) sejam registrados somente quando o monitoramento de IA estiver habilitado
- Garante que os intervalos do MCP (Model Context Protocol) sejam registrados somente quando a configuração
ai_monitoring.enabledestiver habilitada.
- Garante que os intervalos do MCP (Model Context Protocol) sejam registrados somente quando a configuração
Declaração de apoio
Recomendamos atualizar para a versĆ£o mais recente do agente assim que estiver disponĆvel. Se vocĆŖ nĆ£o puder atualizar para a versĆ£o mais recente, atualize seu agente para uma versĆ£o com no mĆ”ximo 90 dias. Saiba mais sobre como manter o agente atualizado.
Consulte a New Relic Python polĆtica de fim de vida Ćŗtil do agente para obter informaƧƵes sobre lanƧamentos de agentes e datas de suporte.
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.