Notes
This release of the Python agent fixes issues with signed headers in botocore (SigV4).
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.
Bugs
Fix issues with signed headers in botocore (SigV4)
- The previous change to botocore distributed tracing headers has been reverted to avoid duplicate headers being sent.
- Previously any distributed tracing headers that were generated by other tracing libraries could cause issues with instrumentation in botocore due to header signing. This has been fixed by disabling signing for these headers within botocore.
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.
Notes
This release of the Python agent adds support for OpenSearch, Microsoft Azure SQL, new Kinesis methods, and a new browser_monitoring.version setting. Additionally, improvements have been made to Anthropic, MCP, and Google ADK instrumentation. Issues with signed headers in botocore (SigV4) and Gemini tools parsing have also been fixed for this release.
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
New instrumentation for opensearch-py
- Instrumentation was added for the official OpenSearch database connector.
New instrumentation for mssql-python
- Instrumentation was added for Microsoft Azure SQL.
New instrumentation for new Kinesis methods
- The following methods are now supported in Kinesis:
create_channeldelete_channeldescribe_channellist_channelsupdate_channel
- The following methods are now supported in Kinesis:
New setting for
browser_monitoring.version- The new setting
browser_monitoring.versionenables users to specify specific versions of our Browser Monitoring Agent to be injected. - See the list of Supported Browser Agent Versions to choose from.
- The new setting
Improved Features
Improved support for anthropic.
- Improved parsing of request parameters for the Anthropic SDK on versions 1.0.0 and above.
- New parsing for responses via
Messages.with_raw_response.createenabling improved compatibility with LangChain.
Support for mcp v2.0.0 and above.
- Instrumentation has been updated following the major refactor done in
mcpv2.0.0 and should once again work as expected.
- Instrumentation has been updated following the major refactor done in
Support for Google ADK v2.9.0 and above.
- Instrumentation has been updated for Google ADK on versions 2.9.0 and above.
Bugs
Fix issues with signed headers in botocore (SigV4)
- Previously any distributed tracing headers that were generated by other tracing libraries could cause issues with instrumentation in botocore due to header signing. This has been fixed, and distributed tracing headers are now mutated before signing.
Fix Gemini tools parsing
- Previously, some instances of tools created with Gemini would fail to parse and would silently fail, resulting in no response for that specific request. This has been fixed.
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 suporte para o Azure CosmosDB, adiciona instrumentação para HTTPX2 e novas APIs de eventos de streaming do LangChain/LangGraph, adiciona suporte para convenções semânticas de banco de dados mais recentes do OpenTelemetry e resolve vários problemas, incluindo relatórios de pacotes incompletos, uma penalidade de desempenho de pesquisa de pacotes e um bug de relatório de nome de banco de dados MySQL.
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
Adicionado suporte para Azure CosmosDB
- O agente Python agora está instrumentado para as operações de cliente do Azure Cosmos DB, relatando métricas e traces de armazenamento de dados para operações de banco de dados, contêiner e usuário realizadas por meio do SDK
azure-cosmos.
- O agente Python agora está instrumentado para as operações de cliente do Azure Cosmos DB, relatando métricas e traces de armazenamento de dados para operações de banco de dados, contêiner e usuário realizadas por meio do SDK
Adicionado suporte para HTTPX2
Adicionada instrumentação de eventos de streaming do LangChain/LangGraph
Suporte adicionado para convenções semânticas de banco de dados mais recentes do OpenTelemetry
- Ao executar o agente Python junto com o OpenTelemetry (modo de agente híbrido), o agente agora lê os nomes de atributo de span de banco de dados do OpenTelemetry legados e mais recentes (
db.name/db.namespace,db.statement/db.query.text,db.mongodb.collection/db.collection.name), para que o rastreamento de banco de dados continue a funcionar corretamente, independentemente de qual versão de convenção semântica a biblioteca de instrumentação do OpenTelemetry emite.
- Ao executar o agente Python junto com o OpenTelemetry (modo de agente híbrido), o agente agora lê os nomes de atributo de span de banco de dados do OpenTelemetry legados e mais recentes (
Bugs
Corrigido o relato incompleto de pacotes para o New Relic
- Anteriormente, o agente Python podia omitir alguns pacotes instalados dos dados de ambiente relatados ao New Relic se a descoberta de módulos levasse mais tempo do que a janela de tempo fixa alocada durante o ciclo de coleta lento, e a lista de pacotes não fosse atualizada após a reinicialização do agente. A captura de pacotes agora é executada durante o ciclo de coleta rápido e é totalmente recapturada no encerramento/reinicialização do agente, para que a lista de pacotes relatada fique completa.
Sobrecarga reduzida de pesquisas de versão de pacote
- Anteriormente, a pesquisa de versões de pacotes instalados verificava novamente o sistema de arquivos para cada pacote em cada pesquisa, incorrendo em uma penalidade de tempo O(n^2) que aumentava com o número de pacotes instalados durante a inicialização do agente. O resultado de
importlib.metadata.packages_distributions()agora é armazenado em cache após a primeira pesquisa para evitar essa sobrecarga.
- Anteriormente, a pesquisa de versões de pacotes instalados verificava novamente o sistema de arquivos para cada pacote em cada pesquisa, incorrendo em uma penalidade de tempo O(n^2) que aumentava com o número de pacotes instalados durante a inicialização do agente. O resultado de
Corrigido
get_linking_metadatapara passar corretamente pelo aplicativo especificado- Anteriormente, a chamada de
newrelic.agent.get_linking_metadata(application=...)ignorava o argumentoapplicatione sempre retornava metadados de vinculação para o aplicativo padrão. Isso afetava processos que se reportavam a mais de um aplicativo. O aplicativo especificado agora é repassado corretamente. - Obrigado ckarnell pela contribuição!
- Anteriormente, a chamada de
Corrigido o relato do nome do banco de dados MySQL ao usar o argumento de palavra-chave
database- Anteriormente, o agente verificava apenas o argumento de palavra-chave legado
dbao analisar o nome do banco de dados dos argumentos de conexão do mysql-connector-python, de modo que as conexões feitas usando o argumento de palavra-chave modernodatabasenão relatavam nenhum nome de banco de dados nas métricas de armazenamento de dados. O agente agora verificadatabaseprimeiro, recorrendo adb.
- Anteriormente, o agente verificava apenas o argumento de palavra-chave legado
Aviso corrigido ao acessar valores
GraphOutputdo LangGraph v1.1+- Anteriormente, a instrumentação do LangGraph v1.1+ acessava os valores de retorno
GraphOutputusando a sintaxe de acesso a itens obsoleta, acionando um aviso de descontinuação. O agente agora lêGraphOutput.valuediretamente.
- Anteriormente, a instrumentação do LangGraph v1.1+ acessava os valores de retorno
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 comandos do Redis introduzidos no Redis v8.10.0 e redis-py v8.1.0. Esta versão também resolve o problema de eventos LlmChatCompletion ausentes no LangChain ao usar ferramentas MCP.
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
Adicionados comandos do Redis introduzidos no Redis v8.10.0 e redis-py v8.1.0
O agente Python agora suporta os seguintes comandos adicionados recentemente no Redis:
himport_discard_allhimport_discardhimport_preparelmovemnrangenrevrangequerylabelsreadsdiffcardsunioncardaliaslist
Bugs
Eventos LlmChatCompletion ausentes corrigidos no Gemini ao usar ferramentas MCP
Trocado para o ID de cache de trace no LangChain e no framework do agente
- Para fins de propagação de contexto, a instrumentação do LangChain e do framework do agente deve ser trocada para armazenar apenas o ID de cache de trace em vez do trace completo em um atributo de referência. Isso serve para evitar que esses objetos sejam serializados inesperadamente em caso de vazamentos. O ID é um objeto muito menor, enquanto o trace pode conter MBs de dados.
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 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.