Surveillance des performances
Chronologie des événements
Les jobs Que apparaissent dans la chronologie des événements des actions de performance de votre application sous forme d’événementsperform_job.que.
Regroupement d’incidents
AppSignal détecte les noms de jobs à partir du nom de classe du worker Que, suffixé par le nom de la méthoderun, ce qui donne quelque chose comme : MyWorker#run. AppSignal regroupe les jobs par ce nom pour la surveillance des performances et les notifications.
Instrumentation de mise en file d’attente
La mise en file d’attente d’un job Que enregistre un événementenqueue.que, intitulé d’après le job mis en file d’attente. Les mises en file d’attente en lot sur la version 2 de Que enregistrent un seul événement bulk_enqueue.que à la place.
AppSignal enregistre les événements de mise en file d’attente dans la chronologie des événements de la transaction active, par exemple lorsque vous mettez en file d’attente un job depuis une requête web ou depuis un autre job. Il ne les enregistre que lorsqu’une transaction est active, donc mettre en file d’attente un job en dehors d’une transaction n’enregistre rien.
Pour arrêter d’enregistrer les événements de mise en file d’attente pour toutes les intégrations de jobs en arrière-plan, définissez l’option de configuration enable_job_enqueue_instrumentation sur false. Cela n’affecte pas l’instrumentation des jobs eux-mêmes.
Prise en charge d’Active Job
L’intégration Que est compatible avec Active Job. Mettez à niveau vers la version 2.11.0 ou plus récente de la gem Ruby pour une prise en charge améliorée.Exemple d’application
Nous avons une application d’exemple dans notre dépôt d’exemples sur GitHub.- AppSignal + Rails 5 + Que L’exemple montre comment configurer une application Rails 5 avec Que surveillé par AppSignal.
Attributs de span
Mode collector uniquement : ceci s’applique lorsqu’AppSignal pour Ruby s’exécute en mode collector. Cela n’a aucun effet dans les autres cas.
messaging.system— la bibliothèque de mise en file d’attente.messaging.destination.name— la queue sur laquelle le job a été placé.messaging.operation.type— indique si le span correspond à la mise en file d’attente ou à l’exécution du job.
error.type, la classe de l’erreur.
Tracing distribué
Mode collector uniquement : ceci s’applique lorsqu’AppSignal pour Ruby s’exécute en mode collector. Cela n’a aucun effet dans les autres cas.
Que.bulk_enqueue font exception. Ils n’apparaissent pas sous la trace qui les a mis en file d’attente. Chaque job reçoit sa propre trace, reliée à la mise en file d’attente en lot, car une seule mise en file d’attente ne peut pas être parent d’un lot entier.
La trace est transportée dans les tags du job. Que dispose de tags à partir de la version 1.0, donc rien n’est transporté sur Que 0.x.
Que autorise au maximum cinq tags par job. Un job qui n’a plus de place pour la trace est mis en file d’attente sans trace.
En savoir plus sur le tracing distribué.