The Window Transformation allows data to buffer for an allocated amount of records or time before it is pushed down the stream.

This Agent is particularly useful when readings arrive very frequently (e.g. every 1 or 2 seconds), in either batch processing or in situations when the cost or resources involved in performing a single operation are high.

For example, a Window Transformation would be useful in a scenario where a user needs to email records that are arriving every second. Rather than sending out 20 different emails in 20 seconds, the user can apply the Window Transformation configured to buffer for 20 seconds. As a result, the user can send out 1 email every 20 seconds with all the accumulated records.

Or use the combination of buffering an amount of records AND a delay period to regulate the flow of events to prevent potential overload of the Data Stream. For example, wait until 20 events have been received and then a further 30 seconds so that the following agent which processes the events can process the records before the Stream Host's buffer is full.

Details for an example and its configuration can be found in the How to Use section.


None at this time

Current Version

  • Download the Window Transformation v3.08

Please contact XMPro if you're looking for an older version of this Agent.

Window Release Notes

v3.08, 07 Mar 2024

  • Added Count with Delay and Delay Size properties to support regulating the flow of events

v3.06, 07 Sep 2022

  • Repackaged to include the Agent's Category


v3.05, 07 May 2020

  • Change Partition and Distinct to check for null


v3.04, 16 Sep 2019

  • Add Partition and Distinct support along with the option to Buffer by Count

v3.03, 04 Sep 2019

  • Updated System.Reactive and System.Linq.Dynamic.Core

v3.02, 05 Mar 2019

  • Updated help URL


v3.01, 28 May 2018

  • Removed unsupported configuration options

  • Added try/catch to functions subscribed to observables

  • Moved the remaining startup logic earlier in the object lifecycle

Last updated