Pular para o conteúdo principal
Aplicações Grape são oficialmente suportadas. Instrumentar aplicações Grape requer alguma configuração manual. Siga os passos de instalação no AppSignal, começando por clicar em ‘Add app’ na tela de contas.
Sua aplicação está usando uma combinação de Rails, Grape, Hanami, Padrino ou Sinatra? Siga nosso guia sobre instrumentação de múltiplas aplicações Rack.

Instalação

Este guia de instalação é para a gem Ruby 3.12 e mais novas. Para aplicações usando uma gem AppSignal for Ruby mais antiga, siga nosso guia de instalação legado.
Após instalar e configurar a gem AppSignal, adicione a integração AppSignal depois que o app Grape for carregado. A integração com Grape é requerida pela gem Ruby do AppSignal e os middlewares de event e instrumentation são adicionados nos exemplos de código a seguir.
O próximo passo é adicionar o middleware do AppSignal à classe API base da aplicação. Ele reportará qualquer exception não tratada da aplicação.

Instalação legada

Aplicações usando a gem AppSignal for Ruby 3.11 ou mais antiga, sigam estes passos para instalar o AppSignal em aplicações Grape. A integração com Grape é requerida pela gem Ruby do AppSignal e os middlewares de event handler e instrumentation são adicionados nos exemplos de código a seguir.
O próximo passo é adicionar o middleware do AppSignal à classe API base da aplicação. Ele reportará qualquer exception não tratada da aplicação.

Apps Grape montados

Montar aplicações Grape em aplicações Ruby on Rails é suportado. A gem Ruby precisa estar em uma versão recente para instrumentar adequadamente as requisições para apps Grape montados.

Ignorando erros

Para ignorar um erro específico do Grape, defina a flag grape.skip_appsignal_error no environment da requisição. Definir essa flag como true instruirá o AppSignal a não reportar nenhum erro durante a requisição. Use esta flag apenas se você precisa ignorar erros de uma aplicação Grape dinamicamente. Especifique classes de erro na opção ignore_errors para ignorá-las em toda a aplicação. Para mais informações sobre como silenciar notificações para erros específicos, veja nossa documentação de notification settings.

Reportando erros do rescue_from

Se um erro é resgatado no app usando rescue_from, o AppSignal não o receberá nem o rastreará. Para ainda reportar o erro, chame Appsignal.report_error no bloco rescue_from. (Use o helper Appsignal.set_error ao usar a gem Ruby versão 3 ou mais antiga.)