Skip to main content
Grape-Anwendungen werden offiziell unterstützt. Die Instrumentierung von Grape-Anwendungen erfordert manuelles Setup. Folgen Sie den Installationsschritten in AppSignal, beginnend mit einem Klick auf „Add app” auf dem Accounts-Bildschirm.
Verwendet Ihre Anwendung eine Kombination aus Rails, Grape, Hanami, Padrino oder Sinatra? Folgen Sie unserem Leitfaden zum Instrumentieren mehrerer Rack-Anwendungen.

Installation

Diese Installationsanleitung gilt für Ruby Gem 3.12 und neuer. Für Anwendungen, die ein älteres AppSignal-für-Ruby-Gem verwenden, folgen Sie unserer Legacy-Installationsanleitung.
Nachdem Sie das AppSignal-Gem installiert und konfiguriert haben, fügen Sie die AppSignal-Integration hinzu, nachdem die Grape-App geladen wurde. Die Grape-Integration wird aus dem AppSignal-Ruby-Gem geladen, und die Event- und Instrumentation-Middlewares werden in den folgenden Codebeispielen hinzugefügt.
Der nächste Schritt besteht darin, die AppSignal-Middleware der Basis-API-Klasse der Anwendung hinzuzufügen. Sie meldet alle unbehandelten Ausnahmen aus der Anwendung.

Legacy-Installation

Anwendungen, die AppSignal für Ruby Gem 3.11 oder älter verwenden, folgen diesen Schritten, um AppSignal in Grape-Anwendungen zu installieren. Die Grape-Integration wird aus dem AppSignal-Ruby-Gem geladen, und der Event-Handler und die Instrumentation-Middlewares werden in den folgenden Codebeispielen hinzugefügt.
Der nächste Schritt besteht darin, die AppSignal-Middleware der Basis-API-Klasse der Anwendung hinzuzufügen. Sie meldet alle unbehandelten Ausnahmen aus der Anwendung.

Eingebundene Grape-Apps

Das Einbinden von Grape-Anwendungen in Ruby on Rails-Anwendungen wird unterstützt. Das Ruby-Gem muss eine aktuelle Version sein, um Anfragen für eingebundene Grape-Apps korrekt zu instrumentieren.

Fehler ignorieren

Um einen bestimmten Grape-Fehler zu ignorieren, setzen Sie das Flag grape.skip_appsignal_error in der Request-Umgebung. Wenn Sie dieses Flag auf true setzen, weist es AppSignal an, während der Anfrage keine Fehler zu melden. Verwenden Sie dieses Flag nur, wenn Sie Fehler aus einer Grape-Anwendung dynamisch ignorieren müssen. Geben Sie Fehlerklassen in der Option ignore_errors an, um sie für die gesamte Anwendung zu ignorieren. Weitere Informationen zum Stummschalten von Benachrichtigungen für bestimmte Fehler finden Sie in unserer Dokumentation zu Benachrichtigungseinstellungen.

Fehler aus rescue_from melden

Wenn ein Fehler in der App mit rescue_from abgefangen wird, erhält und erfasst AppSignal ihn nicht. Um den Fehler trotzdem zu melden, rufen Sie Appsignal.report_error im rescue_from-Block auf. (Verwenden Sie den Helper Appsignal.set_error, wenn Sie Ruby-Gem-Version 3 oder älter nutzen.)

Span-Attribute

Nur im Collector-Modus: Dies gilt, wenn AppSignal für Ruby im Collector-Modus läuft. Andernfalls hat es keine Auswirkung.
Der Span des Requests enthält:
  • http.request.method — die Request-Methode.
  • url.scheme, url.path und url.query — die angefragte Adresse.
  • http.response.status_code — der Status, mit dem Ihre Anwendung geantwortet hat.
Ein Span für einen Request, der einen Fehler ausgelöst hat, enthält außerdem error.type, die Klasse des Fehlers.

Verteiltes Tracing

Nur im Collector-Modus: Dies gilt, wenn AppSignal für Ruby im Collector-Modus läuft. Andernfalls hat es keine Auswirkung.
Eine Anfrage, die mit einem traceparent-Request-Header eintrifft, setzt den darin benannten Trace fort. Die Anfrage erscheint innerhalb des Trace des aufrufenden Service, unter der Anfrage, die sie ausgelöst hat. Sie können eine langsame Anfrage von diesem Service aus in diese Anwendung hinein verfolgen, ohne den Trace zu wechseln. Die HTTP-Clients, die AppSignal unterstützt, starten den Trace. Eine Anfrage ohne den Header startet einen neuen.