Vous pouvez utiliser la fonction de fenêtres coulissantes pour créer des graphiques à l'aide de la clause SLIDE BY en conjonction avec la clause TIMESERIES , qui vous permet de collecter des données dans des « fenêtres » temporelles qui se chevauchent.
Conseil
Vous pouvez également utiliser des fenêtres coulissantes via l'interface utilisateur dans les paramètres de signal avancés.
Par exemple, dans l’image ci-dessous, une requête collecte des données avec des fenêtres de 5 minutes. Les fenêtres « glissent » d’une minute. Chaque fenêtre chevauche la fenêtre précédente de 4 minutes.

Fenêtres de 5 minutes avec un « diaporama » de 1 minute
Contrairement aux fenêtres coulissantes, les fenêtres « basculantes » ou « en cascade » ne se chevauchent pas. Par exemple, dans cette requête NRQL TIMESERIES 3 minutes , les fenêtres ont une durée de 3 minutes, chacune commençant lorsque l'autre se termine sans chevauchement dans l'intervalle de mesure.

Fenêtres de 3 minutes sans chevauchement ni « glissement ».
Quand utiliser des fenêtres coulissantes
Les fenêtres coulissantes sont utiles lorsque vous avez besoin de lisser des graphiques « en pointe ». Vous pouvez utiliser des fenêtres coulissantes pour lisser les graphiques linéaires qui présentent de nombreuses variations sur de courtes périodes. Ceci est particulièrement utile dans les cas où l'agrégat mobile (par exemple une moyenne mobile) est plus important que les agrégats provenant de fenêtres temporelles étroites.
Dans l'exemple ci-dessous, les données varient considérablement d'une minute à l'autre, de sorte que le graphique à fenêtre mobile d'une minute montre de nombreux pics élevés et de faibles vallées.

Requête TIMESERIES sans clause SLIDE BY
Cependant, dans cet exemple, des fenêtres TIMESERIES de 5 minutes de large sont lissées à l'aide d'intervalles SLIDE BY de 1 minute. La requête renvoie des données similaires mais crée un graphique beaucoup plus fluide.

Requête TIMESERIES avec clause SLIDE BY
Tarifs
Lorsque vous convertissez une requête avec la fonction de fenêtre coulissante en alerte, vous pouvez encourir des frais CCU supplémentaires si vous utilisez les plans tarifaires Advanced et Core. Bien que cette méthode améliore l'analyse des données en atténuant les fluctuations, son utilisation peut entraîner une augmentation des coûts par rapport à d'autres méthodes, car les événements qui existent dans les fenêtres de requêtes qui se chevauchent sont comptés plusieurs fois, une fois pour chaque fenêtre dans laquelle ils apparaissent. En d'autres termes, le même événement peut être interrogé plusieurs fois en raison du chevauchement dans les différentes fenêtres qui incluent ce même événement.
Par exemple, s'il y a un événement dans une fenêtre de série temporelle de 10 minutes et que l'intervalle de défilement est de 2 minutes, l'événement sera interrogé dans 5 fenêtres qui se chevauchent. La répétition de l'événement correspondant est calculée en divisant la durée de la fenêtre de la série chronologique par l'intervalle de défilement.

Pour déterminer si vous utilisez les plans tarifaires Advanced ou Core Compute, reportez-vous à votre commande.
SLIDE BY
La syntaxe NRQL valide pour la clause SLIDE BY suit le format ci-dessous.
SELECT ... TIMESERIES integer1 units SLIDE BY integer2 unitsinteger1 spécifie la largeur de la fenêtre glissante et integer2 spécifie l'intervalle SLIDE BY . units est une unité de temps, telle que second, minute, hour ou day. Toutes les unités de temps NRQL standard sont acceptées.
Voici un exemple réel montrant des fenêtres TIMESERIES de 5 minutes avec un intervalle SLIDE BY de 1 minute.
SELECT average(duration) from Transaction TIMESERIES 5 minutes SLIDE BY 1 minuteConseil
Associé à SLIDE BY, TIMESERIES ne prend pas en charge AUTO ou MAX. La valeur TIMESERIES doit être une valeur d'unité de temps entière. En d'autres termes, SLIDE BY AUTO ou SLIDE BY MAX fonctionneront, mais TIMESERIES AUTO ou TIMESERIES MAX suivi de SLIDE BY et MAX, AUTO ou une unité de temps entière spécifique n'est pas pris en charge.
Traduction à partir d'une requête de style PromQL
Le cas échéant, une requête de style PromQL est traduite en une requête à fenêtre glissante NRQL. Par exemple, si votre requête de style PromQL utilise rate(request_count[5m]) pour les 60 dernières minutes avec un chevauchement de fenêtre d'une minute, voici comment cette requête se traduirait en NRQL.
SELECT rate(sum(request_count), 1 SECONDS) FROM Metric SINCE 3600 SECONDS AGO UNTIL NOW FACET dimensions() LIMIT 100 TIMESERIES 300000 SLIDE BY 60000Dans la sortie de traduction, l'unité par défaut de milliseconde est utilisée pour les clauses TIMESERIES et SLIDE BY . Pour TIMESERIES, 300 000 ms correspond à 300 secondes, ou 5 minutes, spécifiant une taille de fenêtre de 5 minutes. Pour SLIDE BY, 60 000 ms correspond à 60 secondes, spécifiant un intervalle de diapositive de 1 minute.
Utilisez SLIDE BY avec MAX et AUTO
Vous pouvez combiner SLIDE BY avec les arguments MAX et AUTO pour personnaliser davantage les résultats de la requête, comme indiqué dans les exemples ci-dessous.
SELECT average(duration) FROM Transaction TIMESERIES 5 minutes SLIDE BY MAXSELECT average(duration) FROM Transaction TIMESERIES 5 minutes SLIDE BY AUTOConseil
La valeur SLIDE BY déterminée par AUTO ou MAX peut produire un intervalle d'étape supérieur à la taille de la fenêtre, ce qui se traduira par des écarts et des résultats inattendus. Si vous rencontrez ces problèmes avec les résultats de la requête, pensez à vérifier par exemple SLIDE BY où l'intervalle d'étape dépasse la taille de la fenêtre.