Passer au contenu principal
Les sondes à la minute sont un mécanisme permettant d’envoyer périodiquement des métriques personnalisées à AppSignal. À intervalles d’une minute à partir du moment où la sonde a été créée pour la première fois, une fonction définie par l’utilisateur peut être appelée dans laquelle vous pouvez capturer des métriques pour les envoyer à AppSignal. Les fonctions de sonde à la minute sont exécutées de manière asynchrone. Vous pouvez activer ou désactiver entièrement les sondes à la minute avec l’option de configuration enable_minutely_probes.

Enregistrement des sondes

Pour suivre des métriques personnalisées depuis votre application, vous pouvez ajouter vos propres sondes. Pour enregistrer une sonde, vous devez appeler la méthode probes.register() avec deux arguments : un nom de sonde et une fonction à appeler une fois par minute.
from appsignal import probes, set_gauge

def set_database_size_gauge():
    set_gauge("database_size", 10)

probes.register("database", set_database_size_gauge)
Pour garantir que toutes les sondes à la minute soient exécutées en temps opportun, il est important d’éviter de bloquer pendant de longues périodes à l’intérieur d’une fonction de sonde à la minute.

Sondes à état

Une fonction de sonde peut conserver un état entre les exécutions en l’acceptant comme argument et en le retournant. Ceci est utile pour suivre l’évolution des valeurs dans le temps :
from appsignal import probes, set_gauge

def set_user_signups_gauge(previous_user_count):
    current_user_count = User.objects.all().count()

    if previous_user_count is not None:
      set_gauge("user_signups", current_user_count - previous_user_count)

    return current_user_count

probes.register("user_signups", set_user_signups_gauge)
La première fois que la sonde à la minute est appelée, None sera passé en argument. Dans les invocations suivantes, la valeur retournée par l’invocation précédente lui sera passée en argument.