Votre application utilise-t-elle une combinaison de Rails, Grape, Hanami, Padrino ou Sinatra ? Suivez notre guide pour instrumenter plusieurs applications Rack.
Installation
Après avoir installé et configuré la gem AppSignal, ajoutez l’intégration AppSignal après le chargement de l’application Grape. L’intégration Grape est requise à partir de la gem AppSignal Ruby, et les middlewares d’événement et d’instrumentation sont ajoutés dans les exemples de code suivants.Installation héritée
Pour les applications utilisant la gem AppSignal for Ruby 3.11 ou plus ancienne, suivez ces étapes pour installer AppSignal dans les applications Grape. L’intégration Grape est requise à partir de la gem AppSignal Ruby, et le gestionnaire d’événements et les middlewares d’instrumentation sont ajoutés dans les exemples de code suivants.Applications Grape montées
Le montage d’applications Grape sur des applications Ruby on Rails est pris en charge. La gem Ruby doit être dans une version récente pour instrumenter correctement les requêtes pour les applications Grape montées.Ignorer des erreurs
Pour ignorer une erreur Grape spécifique, définissez l’indicateurgrape.skip_appsignal_error dans l’environnement de la requête. Régler cet indicateur sur true indiquera à AppSignal de ne signaler aucune erreur pendant la requête.
N’utilisez cet indicateur que si vous devez ignorer dynamiquement les erreurs d’une application Grape. Spécifiez les classes d’erreurs dans l’option ignore_errors pour les ignorer pour l’ensemble de l’application. Pour plus d’informations sur la désactivation des notifications pour des erreurs spécifiques, consultez notre documentation sur les paramètres de notification.
Signalement des erreurs depuis rescue_from
Si une erreur est récupérée dans l’application à l’aide de rescue_from, AppSignal ne la recevra pas et ne la suivra pas. Pour signaler tout de même l’erreur, appelez Appsignal.report_error dans le bloc rescue_from. (Utilisez l’assistant Appsignal.set_error lorsque vous utilisez la gem Ruby version 3 ou antérieure.)