O agente New Relic Ruby fornece uma API pública com documentação disponível no GitHub. A documentação do GitHub explica como configurar a instrumentação personalizada do seu aplicativo Ruby e coletar dados mais detalhados:
As seções a seguir explicam objetivos comuns, soluções e links para partes relevantes da documentação.
Importante
Ao usar a API do agente Ruby , certifique-se de ter a versão mais recente do agente Ruby. Várias API usadas nos exemplos a seguir requerem o agente Ruby versão 4.6.0 ou superior.
Instrumento faltando seções do seu código com transação
Para instrumentar seu aplicativo, o New Relic separa cada caminho do seu código em sua própria transação. A New Relic utiliza (ou "instrumento") o método pai nessas transações para medir o desempenho geral do seu aplicativo e coleta o rastreamento da transação de transações de longa duração para obter detalhes adicionais.
Use estes métodos quando o New Relic não estiver instrumentado em uma parte específica do seu código:
Se você quiser... | Fazem isto... |
---|---|
Tempo em que um método New Relic não é instrumentado automaticamente | Crie uma nova transação. Consulte Rastreando pontos de entrada de transação. |
Cronometre algo diferente de uma única chamada de método | Use a API tracer . |
Impedir que uma transação seja reportada à New Relic | Ignore a transação. |
Métodos específicos de tempo usando segmentos
Se uma transação já estiver visível na interface do New Relic, mas você não tiver dados suficientes sobre um método específico que foi chamado durante essa transação, você poderá criar segmentos para cronometrar esses métodos individuais com mais detalhes. Por exemplo, você pode querer cronometrar um método particularmente crítico com lógica complexa.
Use estes métodos quando quiser instrumentar um método dentro de uma transação existente:
Se você quiser... | Fazem isto... |
---|---|
Cronometrar um método específico | Consulte Rastreador de método. |
Cronometre algo diferente de uma única chamada de método | Use a API tracer . |
Aprimore os metadados de uma transação
Às vezes, o código que você está direcionando fica visível na interface do usuário do New Relic, mas alguns detalhes do método não são úteis. Por exemplo:
- O nome padrão está causando um problema de agrupamento métrico.
- Você deseja adicionar um atributo personalizado à sua transação para poder filtrá-los no criador de consulta.
Use estes métodos quando quiser alterar a forma como o New Relic utiliza uma transação que já está visível na interface do New Relic:
Se você quiser... | Fazem isto... |
---|---|
Alterar o nome de uma transação | Consulte Nomeação de transação. |
Adicione metadados (como o nome da conta do seu cliente ou nível de assinatura) à sua transação | Use atributo personalizado. Consulte Adicionando atributo personalizado. |
Marcar uma transação como um trabalho em segundo plano | Consulte Monitorar trabalhos personalizados em segundo plano. |
Marcar uma transação como transação da web | Passe uma opção |
Evite que uma transação afete sua pontuação Apdex | Consulte Ignorando contribuições do Apdex. |
Veja o registro relacionado
Para ver o log diretamente no contexto dos erros e rastreamento do seu aplicativo, use esta chamada de API para anotar seu log:
Para obter mais informações sobre como correlacionar dados log com outros dados de telemetria, consulte nossa documentação de logs contextualizados .
Colete ou erro ignorado
Normalmente o agente detecta erros automaticamente. No entanto, você pode marcar manualmente um erro com o agente. Você também pode marcar os erros como ignorados ou esperados.
Se você quiser... | Fazem isto... |
---|---|
Relatar um erro que o agente não reporta automaticamente | |
Impedir que o agente relate um erro | Marque o erro como ignorado. Consulte Erro coletor para usar a opção de configuração |
Evite que um erro afete seu Apdex ou taxa de erros, mas ainda assim relate-o à New Relic | Marque o erro como esperado. Consulte Envio de erros manipulados de New Relic e defina |
Envie dados de eventos personalizados e métricos do seu aplicativo
O APM inclui diversas maneiras de registrar dados personalizados arbitrários. Para obter uma explicação dos tipos de dados do New Relic, consulte Coleta de dados.
Se você quiser... | Fazem isto... |
---|---|
Envie dados sobre um evento para que você possa analisá-lo no painel | Crie um evento personalizado. Consulte |
Tag seu evento com metadados para filtrá-los e facetá-los no painel ou na análise de erros | Adicionar atributo personalizado. Passe um hash apply de atributo para |
Relatar dados de desempenho personalizados | Crie uma métrica personalizada. Consulte |
Controlar o agente browser
Normalmente o agente é adicionado automaticamente às suas páginas ou implantado copiando/colando o trecho JavaScript. Para obter mais informações sobre esses métodos recomendados, consulte Adicionar aplicativos ao monitoramento do browser. No entanto, você também pode recuperar o agente browser por meio da chamada de API do agente APM. Para obter mais informações, consulte browser_timing_header()
.
Chamadas de instrumento para armazenamentos de dados
Use estes métodos para coletar dados sobre as conexões do seu aplicativo com outros armazenamentos de dados:
Se você quiser... | Fazem isto... |
---|---|
Cronometrar uma chamada para um armazenamento de dados não instrumentado automaticamente pela New Relic | Consulte |
Cronometrar uma chamada de armazenamento de dados que não pode ser encapsulada de forma limpa em um bloco Ruby | Consulte |
Capture consulta SQL junto com o tempo | Consulte |
Capture consultas não SQL junto com o tempo | Consulte |
Chamadas de instrumento para externos
Use estes métodos para coletar dados para solicitações externas:
Se você quiser... | Fazem isto... |
---|---|
Cronometre uma chamada para uma solicitação externa não instrumentada automaticamente pelo New Relic | Use |
Adicionar cabeçalhos de rastreamento multiaplicativo (CAT) a uma solicitação HTTP de saída | Usar |
Ler cabeçalhos CAT de uma solicitação HTTP de entrada | Usar |
Gere uma string ofuscada para transportar informações CAT em uma solicitação de saída | Usar |
Processar uma string ofuscada contendo informações CAT recebidas de uma solicitação de entrada | Usar |
Chamadas de instrumento para distributed tracing
Importante
Os exemplos de API a seguir requerem o agente Ruby versão 6.9.0 ou superior.
Essas API exigem que distributed tracing esteja ativado.
distributed tracing permite ver os caminhos que as solicitações percorrem enquanto viajam por sistemas distribuídos.
Para obter instruções gerais sobre como usar as chamadas abaixo para implementar distributed tracing, consulte Usar distributed tracing API.
Se você quiser... | Fazem isto... |
---|---|
Envie uma carga/cabeçalho para o serviço chamado. | Consulte |
Aceite uma carga/cabeçalho recebido do primeiro serviço, que vinculará esses serviços em um trace | Consulte |