> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sequel

La gem [Sequel][sequel] est un ORM rapide pour Ruby. AppSignal prend en charge Sequel
automatiquement et aucune instrumentation manuelle n'est nécessaire.

## Désactiver l'instrumentation

Nous avons une option de configuration pour désactiver l'instrumentation pour Sequel.

En savoir plus sur [`:instrument_sequel`][instrument-sequel].

## Problèmes connus

### Intégration sequel-rails

Lors de l'utilisation de la gem [sequel-rails][sequel-rails], l'instrumentation de la
gem sequel-rails et de la gem AppSignal peuvent [entrer en conflit lors de l'exécution
des migrations][instrumentation-issue].

Étant donné que les deux gems instrumentent sequel, vous obtiendrez deux événements
d'instrumentation et possiblement une erreur. [Désactivez l'instrumentation
sequel d'AppSignal](#disable-instrumentation) si cela se produit.

### Absence d'instrumentation

Certaines extensions Sequel remplacent l'instrumentation de la gem AppSignal Ruby. Une
de ces extensions est [error\_sql][error_sql-extension]. Cela empêche AppSignal
d'instrumenter Sequel. Le résultat étant qu'aucun événement d'instrumentation Sequel
n'apparaîtra sur AppSignal.com.

Pour utiliser les instrumentations AppSignal dans ce scénario, l'instrumentation Sequel
d'AppSignal doit être chargée manuellement après le chargement de toutes les autres extensions.

<CodeGroup>
  ```ruby Ruby theme={null}
  # 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)
  ```
</CodeGroup>

Remarque : ce n'est que depuis la version `2.0.2` que les fonctionnalités des autres extensions restent
intactes après le chargement de l'instrumentation AppSignal.

## Exemples d'applications

Nous avons deux exemples d'applications dans notre dépôt d'exemples sur GitHub.

* [AppSignal + Sequel][example-app]\
  L'exemple montre comment configurer AppSignal avec Sequel et Rails, sans
  ActiveRecord et en utilisant uniquement la gem sequel, pas la gem sequel-rails.
* [AppSignal + Sequel - application d'instrumentation manuelle][example-manual-instrumentation-app]\
  Cet exemple montre comment charger manuellement l'instrumentation Sequel d'AppSignal
  dans une application Rails, en utilisant uniquement la gem sequel, pas la gem sequel-rails.

[sequel]: http://sequel.jeremyevans.net/

[sequel-rails]: https://github.com/TalentBox/sequel-rails

[instrument-sequel]: /ruby/configuration/options.html#option-instrument_sequel

[instrumentation-issue]: https://github.com/appsignal/appsignal-ruby/issues/91

[example-app]: https://github.com/appsignal/appsignal-examples/tree/rails-5+sequel

[example-manual-instrumentation-app]: https://github.com/appsignal/appsignal-examples/tree/rails-5+sequel-manual-instrumentation

[error_sql-extension]: http://sequel.jeremyevans.net/rdoc-plugins/files/lib/sequel/extensions/error_sql_rb.html
