Verwendet Ihre Anwendung eine Kombination aus Rails, Grape, Hanami, Padrino oder Sinatra? Folgen Sie unserem Leitfaden zum Instrumentieren mehrerer Rack-Anwendungen.
Installation
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.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.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 Flaggrape.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.
http.request.method— die Request-Methode.url.scheme,url.pathundurl.query— die angefragte Adresse.http.response.status_code— der Status, mit dem Ihre Anwendung geantwortet hat.
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.
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.