This is a translation of the original English documentation page. Help us make it better.

1 Fonctions Foreach

Aperçu

Les fonctions Foreach renvoient des valeurs agrégées à partir de l'historique de plusieurs éléments. Les fonctions Foreach sont utilisées dans les calculs agrégés.

Les fonctions foreach suivantes sont prises en charge :

Fonction Description
avg_foreach Renvoie les valeurs moyennes
bucket_rate_foreach Renvoie des paires (limite supérieure du bucket, valeur du taux) utilisables dans la fonction histogram_quantile(), où "limite supérieure du bucket " est la valeur du paramètre clé de l'élément défini par le <numéro de paramètre> paramètre.
count_foreach Renvoie le nombre de valeurs
exists_foreach Renvoie le nombre d'éléments actuellement activés
last_foreach Renvoie les dernières valeurs
max_foreach Renvoie les valeurs maximales
min_foreach Renvoie les valeurs minimales
sum_foreach Renvoie la somme des valeurs

Les fonctions Foreach renvoient un tableau de valeurs - une pour chaque élément. Les éléments sont sélectionnés en utilisant des filtres dans le premier paramètre.

Voir les calculs agrégés pour plus de détails sur l'utilisation des fonctions foreach.

Fonctions prises en charge

Fonction Description
avg_foreach Renvoie la valeur moyenne de chaque élément.
bucket_rate_foreach Renvoie des paires (limite supérieure du compartiment, valeur du taux) pouvant être utilisées dans la fonction histogram_quantile(), où "limite supérieure du compartiment" est la valeur du paramètre clé de l'élément défini par le <numéro de paramètre> parameter.
count_foreach Renvoie le nombre de valeurs pour chaque élément.
exists_foreach Renvoie le nombre d'éléments actuellement activés.
last_foreach Renvoie la dernière valeur de chaque élément.
max_foreach Renvoie la valeur maximale pour chaque élément.
min_foreach Renvoie la valeur minimale pour chaque élément.
sum_foreach Renvoie la somme des valeurs pour chaque élément.

Paramètres

Les fonctions Foreach prennent en charge deux paramètres communs - le filtre d'élément et une période de temps :

foreach_function(item filter,time period)

par exemple :

avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m)

Certaines fonctions prennent en charge des paramètres supplémentaires.

##### Filtre d'élément

Le premier paramètre permet de filtrer les éléments qui nous intéressent. Un filtre complexe peut être utilisé, référençant la clé de l'élément, le groupe d'hôtes et les tags, comme illustré par les exemples suivants :

Exemple de syntaxe Description
/host/key[abc,*] Correspond à des éléments similaires sur cet hôte.
/*/key Correspond au même élément de n'importe quel hôte.
/*/key?[group="ABC" and tag="tagname:value"] Correspond au même élément de n'importe quel hôte du groupe ABC ayant des tags 'tagname:value'.
/*/key[a,*,c]?[(group="ABC" et tag="Tag1") ou (group="DEF" et (tag="Tag2" ou tag=" Tag3:value"))] Correspond à des éléments similaires de n'importe quel hôte du groupe ABC ou DEF avec les tags respectives.

Tous les éléments référencés doivent exister et collecter des données. Seuls les éléments activés sur les hôtes activés sont inclus dans les calculs.

::: note importante Si la clé d'élément d'un élément référencé est modifiée, le filtre doit être mis à jour manuellement. :::

La spécification d'un groupe d'hôtes parent inclut le groupe parent et tous les groupes d'hôtes imbriqués avec leurs éléments.

Période de temps

Le second paramètre permet de spécifier la période de temps pour l'agrégation. La période de temps ne peut être exprimée qu'en temps, la quantité de valeurs (préfixées par #) n'est pas prise en charge.

Les symboles d'unité pris en charge peuvent être utilisés dans ce paramètre pour plus de commodité, par exemple '5m' (cinq minutes) au lieu de '300s' (300 secondes) ou '1d' (un jour) au lieu de '86400' (86400 secondes).

La période est ignorée par le serveur si elle est passée avec la fonction last_foreach et peut donc être omise :

last_foreach(/*/key?[group="host group"])

La période n'est pas prise en charge avec la fonction exists_foreach.

Paramètres supplémentaires

Un troisième paramètre facultatif est pris en charge par la fonction bucket_rate_foreach :

bucket_rate_foreach(item filter,time period,<parameter number>)

où <parameter number> est la position de la valeur "bucket" dans la clé de l'élément. Par exemple, si la valeur "bucket" dans myItem[aaa,0.2] est '0.2', alors sa position est 2.

La valeur par défaut de <parameter number> est '1'.

Behavior depending on availability

The following table illustrates how each function behaves in cases of limited availability of host/item and history data.

Function Disabled host Unavailable host with data Unavailable host without data Disabled item Unsupported item Data retrieval error (SQL)
avg_foreach ignore return avg ignore ignore ignore ignore
bucket_rate_foreach ignore return bucket rate ignore ignore ignore ignore
count_foreach ignore return count 0 ignore ignore ignore
exists_foreach ignore 1 1 ignore 1 n/a
last_foreach ignore return last ignore ignore ignore ignore
max_foreach ignore return max ignore ignore ignore ignore
min_foreach ignore return min ignore ignore ignore ignore
sum_foreach ignore return sum ignore ignore ignore ignore

If the item is ignored, nothing is added to the aggregation.