Skip to main content
Faraday é uma biblioteca cliente HTTP que oferece uma interface única sobre vários adapters HTTP. O AppSignal instrumenta requisições Faraday automaticamente quando a gem Faraday é detectada na inicialização. Nenhuma configuração manual é necessária. O Faraday envia requisições através de um adapter subjacente, que por padrão é o Net::HTTP. O AppSignal também instrumenta alguns desses adapters, como o Net::HTTP e o Excon. Para evitar registrar a mesma requisição duas vezes, o AppSignal registra cada requisição Faraday uma única vez como um event do Faraday e não instrumenta o adapter para essa requisição.

Performance monitoring

Requisições feitas com Faraday aparecem na event timeline das actions de performance da sua aplicação como events request.faraday, mostrando o método da requisição e o host. Elas também aparecem no painel de performance “Slow API requests”, onde você pode revisar as requisições que sua aplicação faz para outros serviços e o impacto que elas têm em seu desempenho.

Desabilitando a integração

Para desabilitar a integração com Faraday, defina a opção de configuração instrument_faraday como false.

Atributos do span

Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.
O span da requisição carrega:
  • http.request.method — o método da requisição.
  • server.address e server.port — o host que foi chamado.
  • url.full — a URL completa da requisição.
  • http.response.status_code — o status com que o outro serviço respondeu.

Distributed tracing

Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.
Requisições feitas com esta biblioteca levam o trace atual para o serviço chamado, em um header de requisição traceparent. Quando esse serviço também reporta ao AppSignal, o trabalho dele entra no mesmo trace. Você pode abrir uma requisição de saída lenta e ver com o que o outro serviço gastou seu tempo. Os servidores HTTP suportados pelo AppSignal continuam o trace. Qualquer outro serviço inicia o seu próprio.