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
Cuidado
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.
Notas
Esta versão do agente Python adiciona suporte para o seguinte:
- Tarefas personalizadas no Celery
- Monitoramento de Graphene-Django
- Filtragem de middleware em Django
- API AWS Bedrock Converse
- Sinalizador de amostra do cabeçalho W3CTraceParent
Esta versão também fornece as seguintes correções:
- Salvaguardas para o caminho único mais profundo em GraphQL
- Salvaguardas para análise de solicitações de URL da web
- Alternativa para ElasticSearch e GraphQL quando
trace.settings==None - Remover o método
optionsda lista de clientes do ElasticSearch assíncrono
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.
Novo recurso
Adiciona suporte para tarefas personalizadas no Celery
Adiciona suporte para Graphene-Django
- Adicione suporte de monitoramento para esquemas síncronos criados com Graphene-Django. Anteriormente, esquemas criados com Graphene-Django eram monitorados apenas parcialmente, resultando na ausência de atributos relacionados GraphQL.
Adiciona suporte para filtragem de middleware no Django
Os usuários agora podem filtrar qual middleware Django monitorar. Agora há três configurações adicionais:
instrumentation.middleware.django.enabled(O padrão étrue)instrumentation.middleware.django.excludeinstrumentation.middleware.django.include
Veja a página Filtragem de Middleware do Django para mais informações e exemplos.
Adiciona suporte para a API AWS Bedrock Converse
- Adicione suporte de monitoramento para API Converse não streaming. Isso inclui suporte para
conversechamadas de conclusão de bate-papo feitas usando clientesboto3eaioboto3.
- Adicione suporte de monitoramento para API Converse não streaming. Isso inclui suporte para
Adiciona suporte para o sinalizador de amostra do cabeçalho W3CTraceParent
- Quando um serviço upstream envia o cabeçalho W3CTraceParent com o sinalizador de amostragem definido, o New Relic levará em consideração essa decisão de amostragem ao decidir se a transação atual será amostrada.
Suporte adicionado para decisões de amostragem com base na amostragem do pai remoto
Adicionado suporte para duas novas opções de configuração:
distributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled
defaulté o comportamento padrão e se comporta como antes dessa alteração (ele passa a decisão de amostragem para o algoritmo de amostragem adaptável para determinar se a transação será amostrada).always_onsignifica que o trace que tem um pai remoto amostrado ou um pai remoto não amostrado sempre será amostrado.always_offsignifica que o trace que tem um pai remoto amostrado ou um pai remoto não amostrado nunca será amostrado.
Correções de bugs
Adicionar proteção para o caminho único mais profundo em GraphQL
- Alguns usuários estavam enfrentando problemas com o caminho único mais profundo no GraphQL não sendo gerado devido a um nome de campo retornando
None. Este problema foi corrigido.
- Alguns usuários estavam enfrentando problemas com o caminho único mais profundo no GraphQL não sendo gerado devido a um nome de campo retornando
Adicionar proteção para análise de solicitação da web
- Alguns usuários experimentaram um erro de análise quando
request_uriestava malformado ou continha caracteres inválidos. Isso pode acontecer neste ponto se orequest_urino cabeçalho da solicitação for inválido e não corresponder ao URL (válido) fornecido originalmente. Embora essa proteção já tenha sido implementada no New Relic,urllibresolveu esse problema para versões do Python lançadas após 31 de janeiro de 2025.
- Alguns usuários experimentaram um erro de análise quando
Corrigir travamento no ElasticSearch e GraphQL quando
trace.settings==None- Nos casos em que
trace.settingséNone, a instrumentação do ElasticSearch travou o aplicativo. Um fallbackglobal_settingsfoi implementado. Isso também resolve o mesmo problema encontrado no GraphQL.
- Nos casos em que
Remover o método
optionsda lista de clientes do ElasticSearch assíncrono- A instrumentação anterior do ElasticSearch causou uma falha porque
optionsestava na lista de métodos assíncronos. Este método não é mais encapsulado em umDatastoreTracepois não é um método que conduz nenhuma operação/requests de armazenamento de dados.
- A instrumentação anterior do ElasticSearch causou uma falha porque
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 para novas funções Redis , converte todos os caminhos internos de os.path para pathlib.Path e corrige um problema com a codificação JSON de PosixPaths.
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.
Novo recurso
Adiciona suporte para novas funções do Redis
- Adicione instrumentação para novas funções do Redis .
Converta todos os caminhos internos de
os.pathparapathlib.Path- Converta todo o uso interno de caminhos baseados em strings e
os.pathparapathlib.Pathem preparação para oferecer suporte a caminhos do Windows.
- Converta todo o uso interno de caminhos baseados em strings e
Correções de bugs
Corrigir problema com codificação JSON PosixPath
- Alguns usuários estavam tendo problemas com a codificação JSON
PosixPathconfigurações de configuração. Este problema foi corrigido.
- Alguns usuários estavam tendo problemas com a codificação JSON
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 para oracledb, corrige um bug no Kombu e no Kafka onde o objeto MessageTransaction não tem atributo destination_name e corrige o desaparecimento de metadados de utilização com a AWS.
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.
Novo recurso
Adiciona suporte para oracledb
- Adicione instrumentação para oracledb.
Correções de bugs
Corrigir o bug "
MessageTransactionobjeto não tem atributodestination_name"- Corrige um bug na instrumentação do MessageBroker onde os métodos de serialização estavam procurando o atributo
destination_namenoMessageTransactione ele não existia.
- Corrige um bug na instrumentação do MessageBroker onde os métodos de serialização estavam procurando o atributo
Corrigir problema de metadados de utilização da AWS ao executar AWS e K8s juntos
- Devido às configurações de permissões no pod K8s em execução em instâncias do EC2 da AWS, o cache de utilização pode ser recuperado na primeira vez. Entretanto, se o aplicativo for deixado em execução continuamente, o agente será reconectado e os metadados de utilização não serão carregados. Em casos como esses, os metadados de utilização são armazenados em cache por instância do agente e podem ser recuperados.
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.