You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Current »
The MQTT Injectors have a Push Trigger configuration parameter that determines when to push data in combination with the Tag Pacing Period
There are three settings:
- EVENT_DRIVEN
- When a tag change event occurs tag events will be aggregated for the 'Tag Pacing Period' before being pushed
- Pushed message will contain all change events for a tag within the 'tag pacing period'
- PERIODIC
- Will push data for all tags associated with the Agent every 'Tag Pacing Period'
- Only one event per tag will be sent - this may result in data loss if tags are changing more frequently than the 'tag pacing period'
- HYBRID (added in 4.0.28)
- Will push change events as EVENT_DRIVEN but will also push non-changed events on the same 'Tag Pacing Period'
- Two messages will be pushed - one containing the tag change events and one containing the non-changed tag data
Let's see how each of these settings affect what data will be pushed using this example:
- We have three tags, T1, T2, and T3 under the scope of the Agent.
- They are all integers with an initial value of 0 at time 0
- The ‘tag pacing period’ in the Agent config is 1000 ms.
- The BIRTH is published at time '0' (i.e. when the Injector connects)
The tags change value per the schedule below:
Timestamp (in seconds) | Tag Path | Value |
|---|
0.5 | T1 | 1 |
0.75 | T2 | 1 |
1.5 | T3 | 1 |
2.5 | T1 | 2 |
4.5 | T1 | 3 |
4.75 | T1 | 4 |
Event Driven
Messages will be pushed on the 'tag pacing period', in this case every second, and the message will contain changing tags only:
At Time 0 - BIRTH - Includes:
T1 with a value of 0 and timestamp of 0
T2 with a value of 0 and timestamp of 0
T3 with a value of 0 and timestamp of 0
At Time +1 - DATA - Includes:
At Time +2 - DATA - Includes:
At Time +3 - DATA - Includes:
- At Time +4
At Time +5 - DATA - Includes:
Periodic
Messages will be pushed on the 'tag pacing period', in this case every second, and the message will contain all current values:
At Time 0 - BIRTH - Includes:
T1 with a value of 0 and timestamp of 0
T2 with a value of 0 and timestamp of 0
T3 with a value of 0 and timestamp of 0
At Time +1 - DATA - Includes:
T1 with a value of 1 and timestamp of 0.5
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 0 and timestamp of 0
At Time +2 - DATA - Includes:
T1 with a value of 1 and timestamp of 0.5
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 1 and timestamp of 1.5
At Time +3 - DATA - Includes:
T1 with a value of 2 and timestamp of 2.5
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 1 and timestamp of 1.5
At Time +4 - DATA - Includes:
T1 with a value of 2 and timestamp of 2.5
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 1 and timestamp of 1.5
At Time +5 - DATA - Includes:
T1 with a value of 4 and timestamp of 4.75
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 1 and timestamp of 1.5
Hybrid
Two messages will be pushed on the 'tag pacing period', in this case every second, with one message containing tag change events and one containing the non-changed tag data:
At Time 0 - BIRTH - Includes:
T1 with a value of 0 and timestamp of 0
T2 with a value of 0 and timestamp of 0
T3 with a value of 0 and timestamp of 0
At Time +1 - DATA - Includes:
At Time +1 - DATA - Includes:
At Time +2 - DATA - Includes:
- At Time +2 - DATA - Includes:
- T1 with a value of 1 and timestamp of 0.5
- T2 with a value of 1 and timestamp of 0.75
At Time +3 - DATA - Includes:
- At Time +3 - DATA - Includes:
- T2 with a value of 1 and timestamp of 0.5
- T3 with a value of 1 and timestamp of 1.5
At Time +4 - DATA - Includes:
T1 with a value of 2 and timestamp of 2.5
T2 with a value of 1 and timestamp of 0.75
T3 with a value of 1 and timestamp of 1.5
At Time +5 - DATA - Includes:
- At Time +5 - DATA - Includes: