J'ai un travail par lots non planifié qui peut ou non être déclenché plusieurs fois par jour. Pour chaque appel, je génère une métrique de comptage incrémentée de 1.

Je m'attendais à appliquer la fonction increase() sur 1 jour pour la métrique et à voir un pic pour chaque invocation de ce jour.

Cependant, j'ai remarqué que la fonction d'augmentation n'affiche ni n'extrapole les données pour une période manquante prolongée (comme la période avant l'ajout de ces métriques) et, par conséquent, le premier appel fait toujours zéro incrément.

J'essaye quelque chose comme increase(job_invocation_total[1d]).

J'ai également essayé de définir les valeurs inexistantes sur zéro avec OR on() vector(0) mais la fonction increase() ne le permettait pas.

De même pour clamp_min()

Je suis presque sûr qu'il doit y avoir une manière standard d'y parvenir, mais malheureusement, je ne peux pas y penser.

1
Captain Levi 25 août 2020 à 19:20

2 réponses

Meilleure réponse

Si vous avez accès au code dans lequel la métrique job_invocation_total est créée et la cardinalité des libellés de métrique est liée, vous pouvez initialiser le compteur avec la valeur 0.

Si ce n'est pas le cas, vous pouvez créer une règle d'enregistrement égale à 0 ou égale à la métrique job_invocation_total.

0
trallnag 29 août 2020 à 19:34

Le numéro que vous demandez n'est pas clair, mais changes(push_time_seconds[1d]) vous donnerait le nombre de fois où il a poussé vers le pushgateway au cours de la dernière journée.

0
brian-brazil 26 août 2020 à 15:58