Notes
This release of the Python agent provides fixes for early activation in Django instrumentation, server side overrides for max_samples_stored
being ignored, and guards against crashes from trace_cache.pop()
.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug fixes
Prevents early activation in Django instrumentation
- Remove calls to
application_settings()
in Django instrumentation to prevent issues with early activations in pre-fork applications.
- Remove calls to
Fix server configuration to local configuration sync issues
- This fixes a bug created when
event_harvest_config.harvest_limits.*
settings were deprecated in favor of*.max_samples_stored
settings. Some server side configurations were not overriding the client side configurations, resulting in data being sent to the collector despite the user disabling this.
- This fixes a bug created when
Guard against crashes from
trace_cache.pop()
- In the
ContextOf
class, there was an unsafe access of thetrace_cache
viapop(key)
without a default value. This caused crashes when theweakref
in the dictionary was already garbage collected.
- In the
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 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.
Notes
This release of the Python agent adds support for Azure Function Apps and protobuf v6.
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 Azure Function Apps
- Adds support for Azure Function Apps for HTTPTrigger types.
Bug fixes
Adds pb2 files to enable protobuf v6 support
- Previously, several google packages were not compatible with New Relic due to the lack of protobuf v6 support. This has now been resolved.
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.