Pular para o conteúdo principal
Minutely probes são um mecanismo para enviar métricas personalizadas ao AppSignal periodicamente. Em intervalos de um minuto a partir do momento em que a probe foi criada, uma função definida pelo usuário pode ser chamada na qual você pode capturar métricas para enviá-las ao AppSignal. As funções minutely probe são executadas de forma assíncrona. Você pode habilitar ou desabilitar minutely probes inteiramente com a opção de configuração enable_minutely_probes.

Registrando probes

Para rastrear métricas personalizadas da sua aplicação, você pode adicionar suas próprias probes. Para registrar uma probe, você deve chamar o método probes.register() com dois argumentos: um nome de probe e uma função a ser chamada uma vez por minuto.
from appsignal import probes, set_gauge

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

probes.register("database", set_database_size_gauge)
Para garantir que todas as minutely probes sejam executadas em tempo hábil, é importante evitar bloqueios por longos períodos dentro de uma função minutely probe.

Probes com estado

Uma função probe pode manter estado entre execuções aceitando-o como argumento e retornando-o. Isso é útil para acompanhar como os valores mudam ao longo do tempo:
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)
Na primeira vez que a minutely probe é chamada, None será passado como argumento. Em invocações subsequentes, o valor retornado pela invocação anterior será passado como argumento.