• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Instrumentação Python personalizada via arquivo de configuração

Você pode estender o monitoramento do agente Python para trace o tempo gasto em funções ou métodos de classes adicionais editando seu arquivo de configuraçãonewrelic.ini . Essa forma de instrumentação customizada é mais simples de implementar do que a chamada de API e não exige que você modifique seu código. No entanto, para necessidades mais complexas, pode ser necessário usar o instrumento via API .

Listando funções no arquivo de configuração

Para estender a instrumentação para funções designadas e métodos de classe, adicione-os à configuração transaction_tracer.function_trace na seção newrelic do arquivo de configuração do agente. O identificador de uma função deve ter o formato module:function e o de um método de classe module:class.function.

Para listar mais de um item, use um destes métodos:

  • Uma linha: Separe cada item com um espaço.

  • Várias linhas: siga a convenção de arquivo

    ini

    para recuar as linhas subsequentes.

Quando os dados são reportados para a função instrumentado, a métrica terá um nome no formato Function/module:function ou Function/module:class.function. No detalhamento do desempenho de uma transação, a categoria será exibida como Function e o segmento será module:function ou module:class.function. Para rastreamento lento da transação, apenas o nome do segmento aparece. Observe que onde uma função está realmente retornando um gerador, apenas o tempo gasto no retorno do gerador será registrado e não o consumo dos valores do gerador.

Restrições na API de extensão de encapsulamento

Ao agrupar funções listando-as no arquivo de configuração do agente, você não pode designar métodos de classe dessa maneira quando o método for membro de uma classe que é implementada em código C por um módulo de extensão C. Isso ocorre porque não é possível modificar a tabela de métodos de um tipo implementado usando a API C do Python.

Substituindo o nome da função relatada

Ao usar a configuração transaction_tracer.function_trace no arquivo de configuração do agente, o nome da função será usado no nome da métrica, sendo classificada como Function. Se for necessário substituir o nome da função que pode ser usado no nome da métrica ou classificá-la de forma diferente, um meio alternativo de definir o trace da função no arquivo de configuração poderá ser usado. O equivalente para:

transaction_tracer.function_trace = dumbdbm:open
dumbdbm:_Database._commit

seria criar duas novas seções de configuração no arquivo de configuração do agente, uma para cada função a ser rastreada:

[function-trace:dumbdbm-1]
enabled = true
function = dumbdbm:open
name = dumbdbm:open
group = Function
[function-trace:dumbdbm-2]
enabled = true
function = dumbdbm:_Database._commit
name = dumbdbm:_Database._commit
group = Function

O nome da seção do arquivo .ini deve começar com function-trace:. O componente de nome que segue esse prefixo pode ser qualquer coisa, mas deve ser exclusivo em todas as seções trace de função no arquivo de configuração. Você pode substituir as configurações group e name para obter o nome da métrica desejado. A configuração enabled é padronizada como false e você deve alterá-la para true para ativar a função trace.

Instrumento com a API

Para fins simples de instrumentação personalizada, o método do arquivo de configuração funciona bem. Para obter instrumentação mais precisa e personalizada e ajustes de comportamento do agente, use a API do agente Python.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.