Passer au contenu principal
Le paquet AppSignal pour Elixir instrumente les jobs exécutés par les workers Oban, et collecte des métriques sur les performances de vos jobs. Oban est un système de mise en file d’attente et de traitement de jobs pour Elixir, basé sur PostgreSQL et Ecto. Vous pouvez utiliser Oban pour planifier des jobs à exécuter en arrière-plan.

Instrumentation automatique

La prise en charge d’Oban est instrumentée automatiquement, sans configuration requise. Pour désactiver l’instrumentation Oban, définissez l’option de configuration instrument_oban sur false.
🔎 L’option de configuration instrument_oban a été ajoutée dans la version 2.5.1 de l’intégration AppSignal pour Elixir.

Remontée des erreurs

Par défaut, l’instrumentation Oban créera un échantillon d’erreur chaque fois qu’un de vos workers échoue à traiter un job, soit en renvoyant un tuple {:error, _}, soit en levant une exception. Si vous souhaitez n’envoyer des erreurs à AppSignal que lorsque l’échec fait que le job est rejeté, c’est-à-dire une fois qu’il a atteint son nombre maximal de tentatives, définissez l’option de configuration report_oban_errors sur "discard". Définissez-la sur "none" pour ne jamais envoyer d’erreurs de jobs Oban à AppSignal.
L’option de configuration report_oban_errors a été ajoutée dans la version 2.5.1 de l’intégration AppSignal pour Elixir.Si vous utilisez Oban version 2.3.1 ou inférieure, l’information sur l’état du job n’est pas disponible, et l’option "discard" se comportera comme "all".

Échantillons de performance et d’erreur

AppSignal créera des échantillons de performance à partir des jobs exécutés par vos workers Oban : Échantillon de performance issu d'une exécution de job Oban Il signalera également les erreurs qui font échouer vos workers lors du traitement d’un job : Échantillon d'erreur issu d'une exécution de job Oban Dans les échantillons de performance et d’erreur, les tags contiendront des informations sur le job :
  • ID, queue, worker et priorité du job
  • Nombre de tentatives précédentes
  • État du job et résultat après exécution
Tous les tags ou valeurs de métadonnées ajoutés au job seront également présents en tant que tags dans l’échantillon, vous permettant de filtrer les échantillons pour un tag spécifique. Vous pourrez également voir quand un job Oban est inséré dans la timeline des événements des échantillons de performance de votre application : Timeline des événements montrant une insertion de job Oban
🔎 Certaines fonctionnalités ne sont disponibles que dans certaines versions d’Oban :
  • 2.1.0+ : Tags
  • 2.3.1+ : Valeurs de métadonnées et priorité du job
  • 2.4.0+ : État du job après exécution
  • 2.5.0+ : Résultat du job après exécution
  • 2.11.0+ : Événement d’insertion du job
Pour bénéficier de toutes les fonctionnalités décrites ci-dessus, mettez à jour vers la dernière version d’Oban.

Métriques

En plus des échantillons de performance et d’erreur, AppSignal pour Elixir collectera des métriques sur les performances de vos jobs Oban :
  • oban_job_duration : la durée des jobs traités, taguée par le worker du job, la queue et le statut.
  • oban_job_queue_time : le temps passé par les jobs à attendre dans la queue, tagué par queue.
  • oban_job_count : la quantité de jobs traités, taguée par le worker du job, la queue et le statut.
À partir de ces métriques, AppSignal créera automatiquement le Magic Dashboard Oban, qui fournit des informations clés sur les performances de votre système Oban : Magic Dashboard affichant les principales métriques Oban