Time Synchronization: Why when I back-fill do I see the correct values?

In order to understand why time synchronization is so important between the different nodes in a Flow deployment and the data sources Flow will utilize to  query data from, We need to understand 2 concepts Flow uses to manage data collection:

  1. Data aggregation - What happens in a time slice?
  2. Refresh Offset - What is this property on a measure?

Data Aggregation

Lets look at a counter retrieval as an example. We what to know the total value of a totalizer for a time period of 06:00 am to 07:00 am.


It is important to notice that there is a value for exactly 06:00 am and 07:00 am. Flow will subtract these two values to determine the total.

No lets look at a example where the Historian lags the Flow server from a timing perspective. In the example below, there is a value a 06:00 am, but not for 07:00 am. Thus Flow will uses the latest value available, 06:58 am instead of a value at 07:00 am.

In this case the value will be less that the actual correct value!


Refresh Offset 

Flow has a set of defualt refresh ofsets that can be configured on every measure. In our example, for an hourly measure, the default offset will be 60 seconds:


This will force the engine to wait 60 seconds before applying the aggregation method on the raw data. This can be extended. It is not a best practice way to fix time synchronization!.

All nodes in the architecture time's must be synchronized as best practice.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request