graphprotocol / graphprotocol/graph-node
[Feature] Windowed aggregates
Personne n'a encore pris cette issue.
- Langage dominant
- Rust
- Étoiles
- 3.2k
- Forks
- 1.1k
- Merge moyen
- 4 j 1 h
- PR mergées (30 j)
- 1
Description
Description
Aggregates can be formed either over the current bucket (hour, day) or the entire lifetime of the underlying timeseries. In some cases, it would also be useful to aggregate over a limited window, e.g., the last 6 hours. That could look something like
recent_max_price: BigDecimal! @aggregate(fn: "max", arg: "price", window: 6)
The current ways to aggregate would be expressed as window: 1 (default) and window: "all" (lifetime/cumulative)
There's a bunch of things that aren't entirely clear:
- Is it enough if the window is always an integer multiple of the bucket? Or should we offer expressing arbitrary times there, like
window: "90 minutes" - How would users express that a windowed aggregate should be done for one interval but not the others, e.g., if the above aggregation is done both hourly and daily, how do you express "only add this to the hourly aggregates"
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Aucun fichier, test ou point d’entrée n’est nommé. Commencez par examiner la syntaxe d’agrégation existante et le fonctionnement des agrégations du bucket courant et sur toute leur durée de vie ; la définition comme terminée nécessite une représentation convenue de la fenêtre et une portée d’intervalle, avec des tests couvrant les fenêtres bornées, par défaut et sur toute la durée de vie.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- graphql, rust
- Domaine
- api, data
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100