Notas
Esta versão do agente Python adiciona suporte para a configuração no lado do servidor do AI Monitoring, adiciona propagação de contexto para invocações do Bedrock feitas por meio do Microsoft Agent Framework, corrige entidades de ferramentas duplicadas para ferramentas do LangChain apoiadas por um servidor MCP remoto, reduz o risco de condição de corrida no amostrador de dados de coleta de lixo, corrige nomes de transação inconsistentes ao usar o Wagtail e remove a codificação de bytes dos cabeçalhos de distributed tracing de saída do Kombu.
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.
Novo recurso
Adicionar suporte para a configuração no lado do servidor do AI Monitoring
- O agente Python agora suporta a configuração no lado do servidor do AI Monitoring. Quando configurados, os valores
ai_monitoring.enabled,ai_monitoring.record_content.enabledeai_monitoring.streaming.enabledno lado do servidor têm precedência sobre as configurações locais.
- O agente Python agora suporta a configuração no lado do servidor do AI Monitoring. Quando configurados, os valores
Adiciona propagação de contexto para invocações do Bedrock através do Agent Framework
- Propaga o contexto do trace através dos limites de thread criados pela integração do Bedrock do Microsoft Agent Framework. Isso permite que a instrumentação existente do botocore do agente capture eventos de LLM para invocações do Bedrock feitas através do Agent Framework. Isso não adiciona instrumentação completa do próprio Agent Framework.
Bugs
Corrigir nomes de transação inconsistentes ao usar o Wagtail
- Anteriormente, os nomes de transação para aplicativos criados no Wagtail eram inconsistentes e podiam ser os mesmos para diferentes visualizações de página. O problema foi resolvido.
Corrige entidades de ferramenta duplicadas para ferramentas do LangChain com suporte de um servidor MCP remoto
- Anteriormente, quando uma ferramenta do LangChain era apoiada por um servidor MCP remoto que também era instrumentado separadamente, entidades de ferramenta duplicadas apareciam na interface. Isso foi corrigido desativando os atributos de subcomponentes das ferramentas do LangChain quando uma ferramenta remota conhecida é detectada.
Corrige o campo de entrada do usuário ausente para chamadas de ferramenta MCP do LangChain e LangGraph
- Anteriormente, quando o LangChain ou o LangGraph usavam ferramentas de um servidor MCP, o campo de entrada do usuário podia estar ausente dos dados do AI Monitoring se a mensagem de entrada não fosse a última mensagem na sequência transmitida. Isso foi corrigido, e o agente agora extrai corretamente a mensagem de entrada nesses casos.
Reduzir o risco de condição de corrida no amostrador de dados de coleta de lixo
- Anteriormente, o agente sempre chamava
gc.get_objects()para amostrar as contagens de objetos do coletor de lixo, independentemente da configuração. Isso foi alterado para quegc.get_objects()seja chamado apenas quandotop_object_count_limitestiver configurado acima de0, evitando a iteração desnecessária de heap para clientes que não rastreiam os tipos de objetos coletados pelo coletor de lixo.
- Anteriormente, o agente sempre chamava
Remover a codificação de bytes dos cabeçalhos de distributed tracing de saída do Kombu
- Anteriormente, os cabeçalhos de distributed tracing adicionados pela instrumentação do Kombu eram codificados em bytes, o que quebrava os transportes que serializam cargas com o módulo
jsonda biblioteca padrão (por exemplo, transportes apoiados pelo SQLAlchemy). A codificação de bytes foi removida para que esses transportes funcionem corretamente.
- Anteriormente, os cabeçalhos de distributed tracing adicionados pela instrumentação do Kombu eram codificados em bytes, o que quebrava os transportes que serializam cargas com o módulo
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 de instrumentação para o Google ADK, adiciona contagem de tokens para vários provedores de IA (Anthropic, Google GenAI, OpenAI e AWS Bedrock), reduz o tamanho do cabeçalho tracestate de saída e corrige uma falha na instrumentação do graphql-core.
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
Adicionada instrumentação para Google ADK
O agente Python agora instrumenta os fluxos de trabalho de agente de IA do Google ADK (Agent Development Kit).
Componentes instrumentados incluem:
LlmAgentvinculado a backends do Gemini ou VertexAI viagoogle.genai- Instâncias de
FunctionTooldefinidas pelo usuário - Fluxos de trabalho de subagentes, incluindo agentes filhos e instâncias de
AgentTool - Fluxos de trabalho multiagente incluindo a classe
Workflowe as classes descontinuadasLoopAgent,ParallelAgenteSequentialAgent
Adicionada contagem de tokens para Anthropic, Gemini, OpenAI e Bedrock
O agente Python agora relata as contagens de token para todas as invocações de LLM em vários provedores de IA:
- SDK da Anthropic
- Google GenAI SDK
- OpenAI SDK
- AWS Bedrock via botocore e aiobotocore
Bugs
Corrigida falha de instrumentação para graphql-core v3.2.10
- Anteriormente, o graphql-core v3.2.10 renomeou o atributo
errorsparacollected_errorsemExecutionContext, fazendo com que o agente falhasse. Isso foi corrigido, e o agente agora funciona corretamente com o graphql-core v3.2.10 e versões posteriores.
- Anteriormente, o graphql-core v3.2.10 renomeou o atributo
Removido
spanIddo cabeçalhotracestatede saída- Anteriormente, o agente incluía
spanIdno cabeçalhotracestatede saída. ComospanIdjá está presente no cabeçalhotraceparent, isso era uma duplicação desnecessária. OspanIdfoi removido detracestatepara reduzir o tamanho do cabeçalho de saída.
- Anteriormente, o agente incluía
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 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.
Notes
This release of the Python agent removes support for Python lambda function in the config file, excludes the newrelic header by default, adds support for exclude and include settings for Hybrid Agent traces, anthropic instrumentation, gemini response streaming, improves caching of IS_PYPY in gc_data.py for performance, and adds http.statusCode attribute in transaction events. This release also resends modules during reconnect ensuring they are recorded, guards garbage collection metrics against re-entrant calls, fixes task propagation in async generators and starlette context propagation in StreamingResponse.
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.
Removed features
Remove support for Python lambda functions in the config file
- Previously, the agent allowed specifying a Python lambda function to dynamically name transactions, background task, database trace, profile trace, external trace url and method, function trace, generator trace, and memcache trace. Since support for this feature exposes a security vulnerability in the agent this feature is being removed.
Deprecations
- The
response.statusattribute inWebTransactions is considered deprecated and will be removed in the upcoming 14.0.0 release. It is being replaced byhttp.statusCode. We recommend replacing all references toresponse.statuswithhttp.statusCode.
New features
Exclude the
newrelicheader by default- The
newrelicdistributed tracing header is now no longer sent by default. Only the W3Ctraceparentandtracestateheaders will be sent.
- The
Add exclude and include settings for Hybrid Agent traces
opentelemetry.traces.includefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEto be used as an environment variableopentelemetry.traces.excludefor the configuration file orNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDEto be used as an environment variable
The Hybrid Agent's default behavior will be different as well. Now, only libraries and tracers that are supported by OpenTelemetry but not already supported by New Relic will utilize OpenTelemetry's instrumentation. Otherwise, the agent will default to the New Relic instrumentation hooks.
More information about these settings can be found in the Python Agent configuration page as well as the OpenTelemetry API support page.
Add Anthropic streaming instrumentation
- Adds instrumentation support for anthropic.
Improve caching of IS_PYPY in gc_data.py for performance
Now checks and caches IS_PYPY once when the module is loaded.
Add Gemini response streaming
- Add response streaming support to Gemini through the google-genai package.
Add
http.statusCodeattribute to transaction events- To conform with the rest of the language agents, the Python agent now sends the http status to the
WebTransactionattributehttp.statusCode. The Python agent will continue to send the attribute toresponse.statusas well, but theresponse.statusattribute will be removed in the future.
- To conform with the rest of the language agents, the Python agent now sends the http status to the
Bugs
Resend modules during reconnect
- The agent previously only sent the module list periodically after the first connect cycle. If the agent reconnected to the collector, this data would not be resubmitted, so the UI would no longer show the module data. This has now been fixed.
Guard garbage collection metrics against re-entrant calls
- Adds a flag to prevent re-entrant calls to
_GCDataSource.record_gc()to prevent infinite recursion on Python 3.13+.
- Adds a flag to prevent re-entrant calls to
Enable task propagation in async generators
- Fixes an issue where
AsyncGeneratorProxywould not properly handle transaction context propagation if spread over multiple tasks.
- Fixes an issue where
Fix Starlette context propagation in
StreamingResponse- Adds trace context propagation to starlette
StreamingResponsefor both synchronous and asynchronous generators.
- Adds trace context propagation to starlette
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.