Les fonctions de tendance, contrairement aux fonctions d'historique, utilisent les données de tendances pour les calculs.
Les tendances stockent les valeurs agrégées horaires. Les fonctions de tendance utilisent ces moyennes horaires et sont donc utiles pour une analyse à long terme.
Les résultats de la fonction de tendance sont mis en cache afin que plusieurs appels à la même fonction avec les mêmes paramètres récupèrent les informations de la base de données une seule fois. Le cache de la fonction de tendance est contrôlé par le paramètre de serveur TrendCacheSize.
Les déclencheurs qui référencent les fonctions de tendance uniquement sont évalués une fois par période la plus courte dans l'expression. Par exemple, un déclencheur comme
sera évalué une fois par jour. Si le déclencheur contient à la fois des fonctions de tendance et d'historique (ou basées sur le temps), il est calculé selon les principes usuels.
Toutes les fonctions répertoriées ici sont prises en charge dans :
Quelques notes générales sur les paramètres de fonction :
<
>
/host/key
et time period:time shift
ne doivent jamais être mis entre guillemets/host/key
est un premier paramètre obligatoire communtime period:time shift
est un deuxième paramètre commun, où :
N
- le nombre d'unités de temps, unité de temps
- h (heure), d (jour), w (semaine), M (mois) ou y (année).FONCTION | ||
---|---|---|
Description | Paramètres spécifiques à la fonction | Commentaires |
baselinedev (/host/key,data period:time shift,season_unit,num_seasons) | ||
Renvoie le nombre d'écarts (par l'algorithme stddevpop) entre la dernière période de données et les mêmes périodes de données des saisons précédentes. | data period - la période de collecte de données au cours d'une saison, définie comme <N><time unit> oùN - nombre d'unités de tempstime unit - h (heure), d (jour), w (semaine), M (mois) ou y (année), doit être égal ou inférieur à la saison Décalage dans le temps - le décalage dans le temps (voir exemples) season_unit - durée d'une saison (h, d, w, M, y), ne peut pas être inférieure à la période de données num_seasons - nombre de saisons à évaluer |
Exemples: => baselinedev(/host/key,1d:now/d,"M",6) → calcule le nombre d'écarts types (population) entre le jour précédent et le même jour au cours des 6 mois précédents. Si la date n'existe pas dans un mois précédent, le dernier jour du mois sera utilisé (le 31 juillet sera analysé par rapport au 31 janvier, le 28 février,... le 30 juin). => baselinedev(/host/key,1h:now/h,"d",10) → calcule le nombre d'écarts types (population) entre l'heure précédente et les mêmes heures sur la période de dix jours avant-hier. |
baselinewma (/host/key,data period:time shift,season_unit,num_seasons) | ||
Calcule la ligne de base en calculant la moyenne des données de la même période sur plusieurs périodes égales ('saisons') à l'aide de l'algorithme de moyenne mobile pondérée. | data period - la période de collecte de données au cours d'une saison, définie comme <N><time unit> oùN - nombre d'unités de tempstime unit - h (heure), d (jour), w (semaine), M (mois) or y (année), doit être égal ou inférieur à la saison Décalage dans le temps - le décalage de la période de temps, définit la fin de la période de collecte de données en saisons (voir exemples) season_unit - durée d'une saison (h, d, w, M, y), ne peut pas être inférieur à la période de données num_seasons - nombre de saisons à évaluer |
Exemples : => baselinewma(/host/key,1h:now/h,"d",3) → calcul de la ligne de base basée sur la dernière heure complète d'une période de 3 jours qui s'est terminée hier. Si "maintenant" correspond à lundi 13h30, les données de 12h00 à 12h59 les vendredi, samedi et dimanche seront analysées. => baselinemwa(/host/key,2h:now/h,"d",3) → calcul de la ligne de base basée sur les deux dernières heures d'une période de 3 jours qui s'est terminée hier. Si "maintenant" correspond à lundi 13h30, les données de 10h00 à 11h59 les vendredi, samedi et dimanche seront analysées. => baselinewma(/host/key,1d:now/d,"M",4) → calcul de la ligne de base basée sur le même jour du mois qu'« hier » dans les 4 mois précédant le dernier mois complet. Si la date requise n'existe pas, le dernier jour du mois est utilisé. Si aujourd'hui est le 1er septembre, les données des 31 juillet, 30 juin, 31 mai et 30 avril seront analysées. |
trendavg (/host/key,time period:time shift) | ||
Moyenne des valeurs de tendance au cours de la période définie. | Voir les paramètres communs. | Exemples : => trendavg(/host/key,1h:now/h) → moyenne de l'heure précédente (par exemple 12:00-13:00) => trendavg(/host/key,1h:now/h-1h) → moyenne d'il y a deux heures (11:00-12:00) => trendavg(/host/key,1h:now/h-2h) → moyenne d'il y a trois heures (10:00-11:00) => trendavg(/host/key,1M:now/M-1y) → moyenne du mois précédent il y a un an |
trendcount (/host/key,time period:time shift) | ||
Nombre de valeurs de tendance récupérées avec succès dans la période définie. | Voir les paramètres communs. | Exemples : => trendcount(/host/key,1h:now/h) → compter pour l'heure précédente (par ex. 12:00-13:00) => trendcount(/host/key,1h:now/h-1h) → compte d'il y a deux heures (11:00-12:00) => trendcount(/host/key,1h:now/h-2h) → compte d'il y a trois heures (10:00-11:00) => trendcount(/host/key,1M:now/M-1y) → compte pour le mois précédent il y a un an |
trendmax (/host/key,time period:time shift) | ||
Le maximum des valeurs de tendance dans la période de temps définie. | Voir les paramètres communs. | Exemples : => trendmax(/host/key,1h:now/h) → maximum pour l'heure précédente (par ex. 12:00-13:00) => trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcule la différence entre les valeurs maximales et minimales (delta de tendance) pour l'heure précédente (12:00-13:00) => trendmax(/host/key,1h:now/h-1h) → maximum il y a deux heures (11:00-12:00) => trendmax(/host/key,1h:now/h-2h) → maximum il y a trois heures (10:00-11:00) => trendmax(/host/key,1M:now/M-1y) → maximum pour le mois précédent il y a un an |
trendmin (/host/key,time period:time shift) | ||
Le minimum des valeurs de tendance dans la période de temps définie. | Voir les paramètres communs. | Exemples : => trendmin(/host/key,1h:now/h) → minimum pour l'heure précédente (par ex. 12:00-13:00) => trendmin(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcule la différence entre les valeurs maximales et minimales (delta de tendance) pour l'heure précédente (12:00-13:00) => trendmin(/host/key,1h:now/h-1h) → minimum depuis deux heures (11:00-12:00) => trendmin(/host/key,1h:now/h-2h) → minimum depuis trois heures (10:00-11:00) => trendmin(/host/key,1M:now/M-1y) → minimum pour le mois précédent il y a un an |
trendstl (/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s_window>) | ||
Renvoie le taux d'anomalies pendant la période de détection - une valeur décimale entre 0 et 1 qui est ((le nombre de valeurs d'anomalies)/(nombre total de valeurs)) . |
eval period - la période de temps qui doit être décomposée (minimum '1h'), définie comme <N><time unit> où N - nombre d'unités de tempstime unit - h (heure), d (jour), w (semaine), M (mois) ou y (année).Décalage dans le temps - le décalage dans le temps (voir exemples) detection period - la période de temps avant la fin de la période d'évaluation pour laquelle les anomalies sont calculées (minimum '1h', ne peut pas être plus long que la période d'évaluation), définie comme <N><time unit> où N - nombre d'unités de tempstime unit - h (heure), d (jour), w (semaine).season - la période de temps la plus courte où un schéma répétitif ("saison") est attendu (minimum '2h', ne peut pas être plus long que la période d'évaluation, le nombre d'entrées dans la période d'évaluation doit être supérieur aux deux fois la fréquence résultante (saison/h )), défini comme <N><time unit> où N - nombre d'unités de tempstime unit - h (heure), d (jour), w (semaine).deviations - le nombre d'écarts (calculé par devalg) à compter comme anomalie (peut être décimal), (doit être supérieur ou égal à 1, la valeur par défaut est 3) devalg (doit être entre guillemets) - algorithme de déviation, peut être stddevpop, stddevsamp ou mad (par défaut) s_window - la durée (en décalages) de la fenêtre de loess pour l'extraction saisonnière (la valeur par défaut est 10 * nombre d'entrées dans la période d'évaluation + 1) |
Exemples : => trendstl(/host/key,100h:now/h,10h,2h) → analyse les 100 dernières heures de données de tendance, trouver le taux d'anomalies pour les 10 dernières heures de cette période, en s'attendant à ce que la périodicité soit de 2h, les valeurs restantes de la série de la période d'évaluation sont considérées comme des anomalies si ils atteignent la valeur de 3 écarts du MAD de cette série restante => trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") → analyse la période de 100 heures de données de tendance, jusqu'à il y a 10 heures, trouver le taux d'anomalies pour toute cette période en s'attendant à ce que la périodicité soit de 2 h, les valeurs de série restantes de la période d'évaluation sont prises en compte anomalies si elles atteignent la valeur de 2,1 écarts du MAD de cette série restante => trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) → analyse 100 jours de données de tendance jusqu'à la veille, trouver le taux d'anomalies pour la période des 10 derniers jours de cette période, en s'attendant à ce que la périodicité soit de 1 jour, les valeurs de série restantes de la période d'évaluation sont considérées comme des anomalies si elles atteignent la valeur de 4 déviations du MAD de cette série de restes, en remplaçant l'étendue par défaut de la fenêtre de loess pour l'extraction saisonnière de "10 * nombre d'entrées dans la période d'évaluation + 1" avec l'étendue de 10 décalages => trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") → analyse le mois précédent il y a un an, trouver le taux d'anomalies du dernier jour de cette période en s'attendant à ce que la périodicité soit de 2h, les valeurs restantes de la série de la période d'évaluation sont considérées comme des anomalies si elles atteignent le valeur de 3 écart de l'écart-type de l'échantillon de cette série restante |
trendsum (/host/key,time period:time shift) | ||
Somme des valeurs de tendance au cours de la période définie. | Voir les paramètres communs. | Exemples : => trendsum(/host/key,1h:now/h) → somme de l'heure précédente (par ex. 12:00-13:00) => trendsum(/host/key,1h:now/h-1h) → somme d'il y a deux heures (11:00-12:00) => trendsum(/host/key,1h:now/h-2h) → somme d'il y a trois heures (10:00-11:00) => trendsum(/host/key,1M:now/M-1y) → somme du mois précédent il y a un an |