Skip to main content
The Sequel gem is a fast ORM for Ruby. AppSignal supports Sequel automatically and no manual instrumentation is needed.

Performance monitoring

Queries run through Sequel are recorded as sql.sequel events. The event body holds the query that ran, with its values removed. The event appears in the event timeline of your application’s performance actions, and in the “Slow queries” performance panel.

Disable instrumentation

We have a configuration option to disable instrumentation for Sequel. Read more about :instrument_sequel.

Known issues

sequel-rails integration

When using the sequel-rails gem the instrumentation from the sequel-rails gem and AppSignal gem can conflict when running migrations. Because both gems are instrumenting sequel you’ll get two instrumentation events and possible an error. Disable the AppSignal sequel instrumentation is this occurs.

Lack of instrumentation

Some Sequel extensions override the AppSignal Ruby gem instrumentation. One such extension is the error_sql. This causes AppSignal to be unable to instrument Sequel. The effect being no Sequel instrumentation events to appear on AppSignal.com. To use the AppSignal instrumentations in this scenario, the AppSignal Sequel instrumentation needs to be loaded manually after all other extensions have loaded.
Note: only since version 2.0.2 do the other extension’s functionality remain intact after loading the AppSignal instrumentation.

Example applications

We have two example applications in our examples repository on GitHub.
  • AppSignal + Sequel
    The example shows how to set up AppSignal with Sequel and Rails, without ActiveRecord and using only the sequel gem, not the sequel-rails gem.
  • AppSignal + Sequel - manual instrumentation app
    This example shows how to manually load the AppSignal Sequel instrumentation in a Rails application, using only the sequel gem, not the sequel-rails gem.

Span attributes

Collector mode only: this applies when AppSignal for Ruby runs in collector mode. It has no effect otherwise.
The query’s span carries:
  • db.system.name — the database the query ran against, such as postgresql or mysql.
  • db.namespace — the name of the database it connected to.
  • db.query.text — the query, with its values removed.