Skip to main content
Nota: O suporte para namespaces personalizados foi adicionado na versão 1.3.0 do pacote AppSignal for Elixir.
O pacote AppSignal for Elixir se integra ao Plug. Para configurar a integração, siga nosso guia de instalação. Esta página descreve como configurar o AppSignal em uma aplicação Plug e como adicionar instrumentação para eventos dentro das requisições. Para mais informações sobre instrumentação personalizada, leia a documentação de instrumentação Elixir. Mais informações podem ser encontradas na documentação do pacote Hex do AppSignal.

Instalação

A instrumentação do AppSignal para Plug faz parte de um pacote separado, que depende do pacote appsignal principal. Adicione o pacote appsignal_plug ao seu arquivo mix.exs.
Se você já usa nosso pacote appsignal_phoenix, não é necessário adicionar o pacote appsignal_plug, pois ele já é uma dependência do pacote appsignal_phoenix. Veja também nosso guia de integração com Phoenix.

Requisições HTTP de entrada

Vamos começar com um pequeno app Plug que aceita requisições GET em / e retorna uma mensagem de boas-vindas. Para começar a registrar requisições HTTP neste app, usaremos o módulo Appsignal.Plug.
Isso criará uma transação para cada requisição HTTP que for realizada no endpoint.

Instrumentação personalizada

Embora Appsignal.Plug inicie transações para você, ele ainda não instrumenta eventos no seu app. Para isso, precisamos adicionar alguma instrumentação personalizada. Este exemplo de app parece com o que usamos antes, mas tem uma função lenta (apropriadamente chamada slow/0) para a qual gostaríamos de adicionar instrumentação. Para isso, precisamos usar o helper Appsignal.instrument/2-3 na nossa função chamada:
Isso adicionará um evento para a função slow/0 à transação atual sempre que ela for chamada. Para mais informações sobre instrumentação personalizada, leia a documentação de instrumentação Elixir.

Instrumentação de Plugs incluídos

Exceções em Plugs incluídos são automaticamente capturadas pelo AppSignal, mas as amostras de desempenho precisam ser configuradas manualmente usando os helpers de instrumentação personalizada ou decorators.

Instrumentação de Plugs com decorators

Para adicionar instrumentação a Plugs, use a função Appsignal.instrument/2: