Notes
This release of the Python agent adds instrumentation support for Google ADK, adds token counting for multiple AI providers (Anthropic, Google GenAI, OpenAI, and AWS Bedrock), reduces outbound tracestate header size, and fixes a crash in graphql-core instrumentation.
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.
Improved Features
Added instrumentation for Google ADK
- The Python agent now instruments Google ADK (Agent Development Kit) AI agent workflows.
- Instrumented components include:
LlmAgentlinked to Gemini or VertexAI backends viagoogle.genai- User-defined
FunctionToolinstances - Sub-agent workflows including child agents and
AgentToolinstances - Multi-agent workflows including the
Workflowclass and deprecatedLoopAgent,ParallelAgent, andSequentialAgentclasses
Added token counting for Anthropic, Gemini, OpenAI, and Bedrock
- The Python agent now reports token counts for all LLM invocations across multiple AI providers:
- Anthropic SDK
- Google GenAI SDK
- OpenAI SDK
- AWS Bedrock via botocore and aiobotocore
- The Python agent now reports token counts for all LLM invocations across multiple AI providers:
Bugs
Fixed instrumentation crash for graphql-core v3.2.10
- Previously, graphql-core v3.2.10 renamed the
errorsattribute tocollected_errorsinExecutionContext, causing the agent to crash. This has been fixed, and the agent now works correctly with graphql-core v3.2.10 and later.
- Previously, graphql-core v3.2.10 renamed the
Removed
spanIdfrom outboundtracestateheader- Previously, the agent included
spanIdin the outboundtracestateheader. BecausespanIdis already present in thetraceparentheader, this was unnecessary duplication. ThespanIdhas been removed fromtracestateto reduce outbound header size.
- Previously, the agent included
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 informações adicionais de modelo aos eventos de LLM de cadeia do LangChain e corrige um bug na instrumentação de streaming do LangGraph.
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.
Recursos Melhorados
Adicionar informações adicionais do modelo aos eventos de LLM da cadeia do LangChain
- Adicione os atributos
request.modeleresponse.modelaos eventos de LLM produzidos por cadeias do LangChain. - Essas informações são coletadas com base no melhor esforço e podem não estar sempre disponíveis.
- Adicione os atributos
Bugs
Corrigir TypeError na instrumentação de streaming do LangGraph
- Anteriormente, ao usar um subconjunto de APIs de streaming no LangGraph, o agente encontrava um
TypeErrordevido ao uso deweakref.WeakMethodpelo LangGraph. Isso foi corrigido, e o agente agora deve funcionar corretamente com esses métodos de streaming do LangGraph.
- Anteriormente, ao usar um subconjunto de APIs de streaming no LangGraph, o agente encontrava 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 para vários novos comandos do Redis, corrige um bug na instrumentação do LangGraph e melhora o tratamento e o logging das configurações de limite de coleta.
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.
Recursos Melhorados
Adicionar instrumentação para novos comandos do Redis v8.8.0
Adicione instrumentação para os seguintes novos comandos Redis do redis-py v8.8.0:
- Comandos diversos: INCREX, XNACK
- Comandos de matriz: ARCOUNT, ARDEL, ARDELRANGE, ARGET, ARGETRANGE, ARGREP, ARINFO, ARINSERT, ARLASTITEMS, ARLEN, ARMGET, ARMSET, ARNEXT, AROP, ARRING, ARSCAN, ARSEEK, ARSET
Bugs
Corrigir falha na instrumentação do LangGraph
- Anteriormente, ao usar a instrumentação do LangGraph, o agente falhava devido a um problema com a propagação de contexto para jobs no AsyncBackgroundExecutor. Isso foi corrigido, e o agente agora deve funcionar corretamente com o LangGraph.
Melhoria no tratamento e logging das configurações de limite de coleta
- O agente agora reporta com mais precisão a lista de métodos de coleta e limites para a guia Ambiente no New Relic One.
- O agente agora tem logs de depuração mais consistentes na inicialização para as configurações de limite de coleta.
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 corrige um problema de propagação de contexto no LangChain e no LangGraph, um problema de gravação de conclusão de chat da OpenAI e um problema ao usar o streaming da OpenAI(https://pypi.org/project/openai) por meio do LiteLLM como proxy.
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.
Bugs
Corrigir a propagação de contexto no LangChain e LangGraph
Corrigir um problema de gravação de chat completion da OpenAI
- OpenAI reintroduziu a lógica que encerra a resposta de streaming mesmo que o consumidor não tenha lido todos os dados. Anteriormente, os dados de chat completion eram registrados apenas ao atingir o final do stream, o que resultava em dados de chat completion não serem registrados no fechamento do stream. Agora foi adicionada uma lógica para capturar os dados de conclusão do chat, mesmo que o stream não tenha sido totalmente lido.
Corrige um problema ao usar o streaming da OpenAI através do LiteLLM como proxy
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 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.
Notes
This release of the Python agent adds support for time to first token and fixes an incompatible Flask add_url_rule function signature.
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.
New features
Added time to first token for LLM response streams:
Bugs fixes
Resolved Flask
add_url_rulefunction signature mismatch- Updated the instrumentation for Flask's to align its
add_url_rulefunction signature with the native Flask implementation. This fix prevents potential application crashes caused by the previous signature mismatch.
- Updated the instrumentation for Flask's to align its
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.