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_cache
viapop(key)
sem um valor padrão. Isso causou travamentos quando oweakref
no 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
Prudence
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
setuptools
esetuptools_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_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
A funcionalidade disto foi encapsulada em get_browser_timing_header()
record_exception
notice_error()
NewRelicLogHandler
NewRelicLogForwardingHandler
lambda_handler
&LambdaHandlerWrapper
Essas 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_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
Agora isso está codificado em true
, por isso foi removido como uma opção de configuração.ignored_params
Use 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_maximum
Agora 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_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
Esta é uma reversão de uma alteração anterior que renomeou essas configurações de
*.max_samples_stored
para 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_task
newrelic.suppress_apdex_metric
newrelic.suppress_transaction_trace
newrelic.capture_request_params
newrelic.disable_browser_autorum
Descontinua o suporte para construção do agente com
setuptools<61.2
ousetuptools_scm<6.4
- As versões mínimas suportadas de
setuptools
esetuptools_scm
foram aumentadas para61.2
e6.4
, respectivamente. Isso é para dar suporte ao uso depyproject.toml
para 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
Llm
personalizado) 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.0
ao chamaras_string()
- Corrige um problema em
psycopg>=3.2.0
em 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.enabled
estiver 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
options
da 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.exclude
instrumentation.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
converse
chamadas de conclusão de bate-papo feitas usando clientesboto3
eaioboto3
.
- 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_sampled
distributed_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_on
significa que o trace que tem um pai remoto amostrado ou um pai remoto não amostrado sempre será amostrado.always_off
significa 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_uri
estava malformado ou continha caracteres inválidos. Isso pode acontecer neste ponto se orequest_uri
no 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,urllib
resolveu 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_settings
foi implementado. Isso também resolve o mesmo problema encontrado no GraphQL.
- Nos casos em que
Remover o método
options
da lista de clientes do ElasticSearch assíncrono- A instrumentação anterior do ElasticSearch causou uma falha porque
options
estava na lista de métodos assíncronos. Este método não é mais encapsulado em umDatastoreTrace
pois 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.path
parapathlib.Path
- Converta todo o uso interno de caminhos baseados em strings e
os.path
parapathlib.Path
em 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
PosixPath
configuraçõ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 "
MessageTransaction
objeto 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_name
noMessageTransaction
e 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.