@@ -20,17 +20,19 @@ There are two types of time in streaming systems:
20
20
2 . ** Processing time** - the time when the event is processed by the system
21
21
22
22
23
- In Quix Streams, ** windows always use event time ** .
23
+ !!! info
24
24
25
- The event time is obtained from the timestamps of incoming Kafka messages.
25
+ In Quix Streams, **windows always use event time**.
26
+ The event time is obtained from the timestamps of incoming Kafka messages.
26
27
27
- A Quix Streams application keeps its own "clock" for each assigned partition.
28
- The state store tracks the ** maximum observed timestamp** across incoming events within each topic partition, and
29
- this timestamp is used as a current time in the stream.
30
- What's important, it can never go backward.
31
-
32
- When the application gets an event timestamp for the event, it assigns an interval according to the window definition.
28
+ Every windowed aggregation tracks the event time for each **message key**.
29
+ It stores the **maximum observed timestamp** for each **message key**, and
30
+ this timestamp is used as a current time in the stream.
33
31
32
+ The maximum observed timestamp is used to determine whether the incoming event is late or on-time.
33
+ See [Lateness and Out-of-Order Processing](#lateness-and-out-of-order-processing) for more info about lateness.
34
+
35
+
34
36
### Extracting timestamps from messages
35
37
By default, Quix Streams uses Kafka message timestamps to determine the time of the event.
36
38
@@ -660,7 +662,6 @@ The appropriate value for a grace period varies depending on the use case.
660
662
661
663
662
664
663
-
664
665
## Emitting results
665
666
666
667
Quix Streams supports 2 modes of emitting results for time windows:
0 commit comments