Zum Hauptinhalt springen
Das Sequel-Gem ist ein schnelles ORM für Ruby. AppSignal unterstützt Sequel automatisch, und es ist keine manuelle Instrumentation erforderlich.

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.
# Load extension that overrides the AppSignal instrumentation. This is an
# example. Other extensions might override it too.
Sequel::Database.extension :error_sql

# Manually load the instrumentation of sequel with AppSignal in combination
# with an extension that overrides the AppSignal gem instrumentation on load.
#
# Make sure you set `instrument_sequel` to `false` in the AppSignal config.
# http://docs.appsignal.com/ruby/configuration/
#
# Note: Use `Appsignal::Hooks::SequelLogExtension` for Sequel version 4.34
# and below.
Sequel::Database.register_extension(
  :appsignal_integration,
  Appsignal::Hooks::SequelLogConnectionExtension
)
Sequel::Database.extension(:appsignal_integration)
Hinweis: Erst ab Version 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.