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.