Notas
Esta versão do agente Python remove o suporte para a função do Lambda do Python no arquivo de configuração, exclui o cabeçalho newrelic por padrão, adiciona suporte para as configurações de exclusão e inclusão para trace do Hybrid Agent, para a instrumentação do anthropic, para o streaming de resposta do gemini, melhora o cache de IS_PYPY em gc_data.py para desempenho e adiciona o atributo http.statusCode em eventos de transação. Esta versão também reenvia módulos durante a reconexão, garantindo que sejam registrados, protege as métricas de coleta de lixo contra chamadas reentrantes, corrige a propagação de tarefas em geradores assíncronos e a propagação de contexto do starlette em StreamingResponse.
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 removido
Remover o suporte a funções do Lambda em Python no arquivo de configuração
- Anteriormente, o agente permitia especificar uma função do Lambda em Python para nomear dinamicamente transações, tarefa em segundo plano, trace de banco de dados, trace de perfil, URL e método de trace externo, trace de função, trace de gerador e trace de memcache. Como o suporte a este recurso expõe uma vulnerabilidade de segurança no agente, este recurso está sendo removido.
Depreciações
- O atributo
response.statusemWebTransactions é considerado obsoleto e será removido na próxima versão 14.0.0. Está sendo substituído porhttp.statusCode. Recomendamos substituir todas as referências aresponse.statusporhttp.statusCode.
Novo recurso
Excluir o cabeçalho
newrelicpor padrão- O cabeçalho
newrelicde distributed tracing não é mais enviado por padrão. Apenas os cabeçalhos W3Ctraceparentetracestateserão enviados.
- O cabeçalho
Adicionar configurações de exclusão e inclusão para traces do Agente Híbrido
opentelemetry.traces.includepara o arquivo de configuração ouNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEser usado como variável de ambienteopentelemetry.traces.excludepara o arquivo de configuração ouNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEser usado como variável de ambiente
O comportamento padrão do agente híbrido também será diferente. Agora, apenas bibliotecas e tracers que são suportados pelo OpenTelemetry, mas que ainda não são suportados pelo New Relic, utilizarão a instrumentação do OpenTelemetry. Caso contrário, o agente usará por padrão os hooks de instrumentação da New Relic.
Mais informações sobre essas configurações podem ser encontradas na página de configuração do agente Python, bem como na página de suporte à API do OpenTelemetry.
Adicionar instrumentação de streaming da Anthropic
- Adiciona suporte de instrumentação para anthropic.
Melhorar o cache de IS_PYPY em gc_data.py para desempenho
Agora verifica e armazena em cache IS_PYPY uma vez quando o módulo é carregado.
Adicionar streaming de resposta do Gemini
- Adicionar suporte a streaming de resposta ao Gemini por meio do pacote google-genai.
Adicionar atributo
http.statusCodea eventos de transação- Para estar em conformidade com os demais agentes de linguagem, o agente Python agora envia o status http para o atributo
WebTransactionhttp.statusCode. O agente Python continuará enviando o atributo pararesponse.statustambém, mas o atributoresponse.statusserá removido no futuro.
- Para estar em conformidade com os demais agentes de linguagem, o agente Python agora envia o status http para o atributo
Bugs
Reenviar módulos durante a reconexão
- O agente anteriormente só enviava a lista de módulos periodicamente após o primeiro ciclo de conexão. Se o agente se reconectasse ao coletor, esses dados não seriam reenviados, portanto a interface não exibiria mais os dados do módulo. O problema já foi resolvido.
Proteger métricas de garbage collection contra chamadas reentrantes
- Adiciona uma flag para evitar chamadas reentrantes para
_GCDataSource.record_gc()para evitar recursão infinita no Python 3.13+.
- Adiciona uma flag para evitar chamadas reentrantes para
Habilitar a propagação de tarefas em geradores assíncronos
- Corrige um problema em que
AsyncGeneratorProxynão tratava corretamente a propagação de contexto de transação se distribuída por várias tarefas.
- Corrige um problema em que
Corrigir a propagação de contexto do Starlette em
StreamingResponse- Adiciona a propagação de contexto do trace ao starlette
StreamingResponsetanto para geradores síncronos quanto assíncronos.
- Adiciona a propagação de contexto do trace ao starlette
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.