Skip to main content

timeSeriesLimitKMasks

Introduit dans : v26.8.0 Sélectionne jusqu’à k séries temporelles à chaque pas d’une grille temporelle, de manière pseudo-aléatoire et déterministe. Chaque ligne d’entrée correspond à une série temporelle : key identifie la série, sampling_key est un hachage propre à chaque série qui détermine l’ordre de sélection, et values contient les valeurs de la série alignées sur une grille temporelle commune (les tableaux values de toutes les lignes doivent donc être de même taille). À chaque pas de temps, parmi les séries qui ont des valeurs non NULL à ce pas, celles dont les clés d’échantillonnage sont les k plus petites sont sélectionnées. En cas d’égalité des clés d’échantillonnage, la série dont la key est la plus petite est retenue en priorité. Cette fonction implémente l’opérateur d’agrégation limitk() de PromQL et ne conserve qu’un seul tas borné de taille k par pas de temps ; la taille de son état est donc indépendante du nombre de séries agrégées.
Cette fonction est en aperçu privé ; pour l’activer, définissez le paramètre enable_time_series_aggregate_functions = 1.
Syntaxe
Arguments
  • k — Nombre de séries à sélectionner à chaque pas de temps : soit une valeur unique pour tous les pas de temps, soit un tableau contenant une valeur par pas de temps. Doit être identique pour toutes les lignes. UInt* ou Array(UInt*)
  • key — Identifiant de la série temporelle. UInt64
  • sampling_key — Hachage propre à chaque série, qui définit l’ordre de sélection, par exemple timeSeriesGroupToSamplingKey(key). UInt64
  • values — Valeurs de la série temporelle alignées sur la grille temporelle, à raison d’un élément par pas de temps. Array(Nullable(Float32)) ou Array(Nullable(Float64)) ou Array(Float32) ou Array(Float64)
Valeur renvoyée Renvoie les séries sélectionnées, triées par ordre croissant de key, chacune accompagnée de son masque par pas de temps : steps_mask[t] = 1 si la série est sélectionnée au pas de temps t. Les séries qui ne sont sélectionnées à aucun pas de temps ne sont pas renvoyées. Array(Tuple(key UInt64, steps_mask Array(UInt8))) Exemples Sélection de 2 séries par pas de temps selon les plus petites clés d’échantillonnage
Query
Response
Dernière modification le 14 octobre 2026