Window

logic_window · logic · Logica & Flow · Disponibile · v1.0.0

Descrizione

Aggregatore time-series enterprise che raggruppa elementi di un array in finestre temporali non sovrapposte (tumbling window — il modello di windowing di Apache Flink, Kafka Streams, Spark Structured Streaming). Riceve un dataset con un campo timestamp su ciascun item (ISO 8601 o Unix epoch in ms) e produce i bucket — la primitiva per dashboard time-series, KPI rolling, analytics per cohort temporali, alerting su anomalie rispetto a baseline storica. Due modalità di finestratura: (1) FISSA (default) — finestre di durata costante in secondi (windowSeconds), allineate all'epoch UTC: semplice e deterministica per qualsiasi durata (es. 300s = 5 minuti, 3600s = 1 ora); (2) CALENDARIO timezone-aware — granularity minute/hour/day/week/month allineata ai confini CIVILI nella timezone scelta (default UTC, es. "Europe/Rome"): day = mezzanotte locale, week = lunedì ISO 8601 (o domenica, configurabile), month = primo del mese (mesi reali 28-31gg + cambio anno). Gestisce correttamente le transizioni di ora legale/solare (DST) — fondamentale per il reporting italiano dove "vendite del 31 marzo" deve includere gli eventi fino alle 23:59 locali, non spostarli al giorno dopo. Output: { windows: { <ISO-del-bordo>: [item...] } (mappa bucket→item), windowCount, totalItems, undated: [item...] + undatedCount (gli item SENZA timestamp valido, tracciati e NON persi in silenzio), granularity, timezone, windowSizeSec (solo in modalità fissa) }. Use case: bucket eventi error_log per dashboard hourly "errori/ora delle ultime 24h" con detection di spike anomali rispetto al baseline; aggregazione di account.move Odoo per giorno per il report fatturato del mese tramite agent_business_summarizer; count di sessioni utenti distinte per settimana per il MAU/WAU/DAU del business dashboard B2B SaaS; rolling KPI con window deslizante (es. "media mobile su 7 giorni della conversion rate") per smussare il rumore daily; aggregazione di chiamate LLM gateway per ora per il forecast costi mensili e capacity planning vLLM.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
sourceExpression
Array da finestrare
expressionsiinput
timestampField
Campo timestamp
stringsi
es. createdAt, timestamp, ts
Campo che contiene un datetime ISO 8601 (es. "2026-05-20T12:34:56Z") o un Unix epoch in millisecondi.
granularity
Granularità
enum
fixedminutehourdayweekmonth
nofixedfixed = finestre di durata costante (vedi "Dimensione finestra"), allineate a UTC. minute/hour/day/week/month = finestre di CALENDARIO allineate ai confini civili nella timezone scelta (mesi/settimane reali, DST-safe).
windowSeconds
Dimensione finestra (secondi) — solo granularità "fixed"
numberno360060 = 1 minuto · 3600 = 1 ora (default) · 86400 = 1 giorno · 604800 = 1 settimana. Ignorato se la granularità è di calendario.
timezone
Timezone (granularità di calendario)
stringnoUTC
Europe/Rome
Identificatore IANA (es. Europe/Rome). Usato per allineare i confini di giorno/settimana/mese all'ora locale. Una timezone non valida ricade su UTC. Ignorato in modalità "fixed".
weekStart
Inizio settimana (granularità "week")
enum
mondaysunday
nomondaymonday = settimana ISO 8601 (standard EU). sunday = convenzione US.
maxItems
Max item (cap difensivo)
numberno100000Hard cap anti-OOM sul numero di item processati. Se l'input supera questa soglia viene troncato e finestra solo i primi N (warning emesso). Default 100k, tetto 1M.

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-logic_window-1",
  "defId": "logic_window",
  "label": "Window",
  "config": {
    "sourceExpression": "input",
    "timestampField": "es. createdAt, timestamp, ts",
    "granularity": "fixed",
    "windowSeconds": 3600,
    "timezone": "UTC",
    "weekStart": "monday",
    "maxItems": 100000
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Window?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi