Surveillance des scripts
Un échantillon AppSignal est composé de deux éléments : une transaction et des événements. Avant de signaler des événements avec nos assistants d’instrumentation, vous devez d’abord créer une transaction. Utilisez l’assistantAppsignal.monitor pour créer une transaction et la rendre active pendant la durée du bloc donné.
L’assistant monitor signalera le bloc de code instrumenté sous forme de mesures de performance répertoriées dans la section Performance de l’interface utilisateur AppSignal, regroupées par nom d’action. Il suivra la durée du bloc et signalera les exceptions qui s’y produisent.
monitor accepte deux arguments par mots-clés :
namespace(Facultatif) : personnalise le namespace de la transaction. La valeur par défaut est « web ».action(Obligatoire) : nous regroupons les échantillons du script par ce nom d’action pour la création d’incidents et les notifications. Sans nom d’action, aucune information sur le bloc surveillé n’est signalée, car nous ne savons pas comment regrouper les données.
Définir le nom de l’action ultérieurement
L’argumentaction de l’assistant Appsignal.monitor peut être laissé nil ou explicitement défini sur :set_later, mais uniquement si l’assistant Appsignal.set_action est toujours appelé à l’intérieur du bloc pour définir le nom de l’action. Sans nom d’action, aucune donnée n’est signalée concernant le bloc instrumenté. Cette méthode de définition du nom de l’action peut être utile si le nom de l’action ne peut être déterminé que lors d’une étape de traitement à l’intérieur du bloc.
Événements d’instrumentation
Par défaut, la gem Ruby signalera les événements des intégrations prises en charge. Ces événements apparaîtront dans la chronologie des événements. Utilisez nos assistants d’instrumentation pour ajouter vos propres événements à la chronologie des événements. Cela crée une répartition plus détaillée de ce qui se passe à l’intérieur du bloc surveillé.Obligation d’arrêt
Pour les scripts exécutés sur des hôtes de courte durée, il est nécessaire d’arrêter la gem Ruby AppSignal avant que le script ne se termine. Cela garantit qu’elle signale les données du script à AppSignal avant que l’hôte ne s’éteigne. Ce comportement n’est nécessaire que dans des scénarios tels que :- Lorsqu’une tâche planifiée (un cron job) est exécutée par un service d’hébergement.
- Lorsqu’un script est exécuté sur un conteneur qui démarre pour exécuter ce script et s’arrête lorsque le script se termine.
- Lorsqu’un script est exécuté sur un runner Heroku, ou des fournisseurs d’hébergement similaires.
enable_at_exit_hook.
Assurez-vous que cette option est définie sur true pour les scripts qui nécessitent l’arrêt d’AppSignal, si elle n’est pas détectée automatiquement.
Il peut être nécessaire d’ajouter un appel sleep supplémentaire de quelques secondes pour s’assurer qu’il y a suffisamment de temps pour envoyer toutes les données. Utilisez l’exemple d’utilisation at_exit du code ci-dessous si nécessaire.
Assistant Monitor and stop
Si votre processus exécute toujours une seule tâche/un seul job et se termine immédiatement après, vous pouvez utiliser l’assistantAppsignal.monitor_and_stop. Cela garantira qu’AppSignal s’arrête automatiquement après l’exécution du bloc.