Performance-Monitoring
Über Sequel ausgeführte Queries werden alssql.sequel-Events aufgezeichnet. Der Event-Body enthält die ausgeführte Query, wobei ihre Werte entfernt wurden. Das Event erscheint in der Event-Timeline der Performance-Actions Ihrer Anwendung sowie im Performance-Panel „Slow queries”.
Instrumentation deaktivieren
Wir verfügen über eine Konfigurationsoption, mit der die Instrumentation für Sequel deaktiviert werden kann. Lesen Sie mehr über:instrument_sequel.
Bekannte Probleme
sequel-rails-Integration
Bei der Verwendung des sequel-rails-Gems können die Instrumentationen des sequel-rails-Gems und des AppSignal-Gems beim Ausführen von Migrationen in Konflikt geraten. Da beide Gems Sequel instrumentieren, erhalten Sie zwei Instrumentations-Events und möglicherweise einen Fehler. Deaktivieren Sie die AppSignal-Sequel-Instrumentation, falls dies auftritt.Fehlende Instrumentation
Einige Sequel-Extensions überschreiben die Instrumentation des AppSignal-Ruby-Gems. Eine solche Extension ist error_sql. Dies führt dazu, dass AppSignal Sequel nicht instrumentieren kann. Die Folge ist, dass keine Sequel-Instrumentations-Events auf AppSignal.com erscheinen. Um die AppSignal-Instrumentationen in diesem Szenario zu verwenden, muss die AppSignal-Sequel-Instrumentation manuell geladen werden, nachdem alle anderen Extensions geladen wurden.2.0.2 bleibt die Funktionalität der anderen Extension nach dem Laden der AppSignal-Instrumentation erhalten.
Beispielanwendungen
Wir haben zwei Beispielanwendungen in unserem Examples-Repository auf GitHub.- AppSignal + Sequel
Das Beispiel zeigt, wie AppSignal mit Sequel und Rails ohne ActiveRecord eingerichtet wird, und nur das sequel-Gem, nicht das sequel-rails-Gem verwendet. - AppSignal + Sequel - App mit manueller Instrumentation
Dieses Beispiel zeigt, wie die AppSignal-Sequel-Instrumentation manuell in einer Rails-Anwendung geladen wird, wobei nur das sequel-Gem und nicht das sequel-rails-Gem verwendet wird.
Span-Attribute
Nur im Collector-Modus: Dies gilt, wenn AppSignal für Ruby im Collector-Modus läuft. Andernfalls hat es keine Auswirkung.
db.system.name— die Datenbank, gegen die die Query ausgeführt wurde, z. B.postgresqlodermysql.db.namespace— der Name der Datenbank, mit der die Verbindung bestand.db.query.text— die Query, wobei ihre Werte entfernt wurden.