Background

The Java BACI properties (jbaci) implementation was done some time ago, but left some stuff without proper implementation. So far, only the implementation of on-change delta_percent was found to be left out.

  • (tick) The implementation of monitoring time-based triggers is working
  • (question) The implementation of on-change monitors is apparently implemented but needs to be double checked
  • (error) The implementation of percentage on-change monitors seem to have been ignored
  • (question) The implementation of alarms on ranges is apparently implemented, but needs to be double checked
  • (tick) Archival is done using the C++ MONITOR_COLLECTOR component in a non-collocated fashion

Properties

NameDefaultDescription
min_timer_trig0.001Maximum sampling rate
default_timer_trig1.0Default monitoring sampling rate (Only monitors, doesn't affect archival)
archive_min_int0.0Minimum time between archiving events. 0 means disabled; it will be archived any time needed by delta or delta percent.
archive_max_int0.0Maximum time between archiving events. 0 means disabled; it will not be archived unless triggered by delta or delta percent.
min_delta_trig0 | falseDefault monitoring on-change trigger (Only monitors, doesn't affect archival)
archive_delta0 | falseValue change that triggers an archiving event. 0 means disabled; it will not be archived unless triggered by time or delta percent change.
archive_delta_percent0.0Value percentage change that triggers an archiving event. 0 means disabled; it will not be archived unless triggered by time or delta change.


Description

Time Triggered Archival

This terminology is used to consider the need to publish a new value after some time has passed since the last publication.

Archive Delta

This is a terminology describing the need to publish a new value the monitoring archival chain when the last monitored value has changed by more than an absolute value.

Archive Delta Percent

This is a terminology describing the need to publish a new value the monitoring archival chain when the last monitored value has changed by more than an percentage value.

Alarms

...


Examples

Legend

  • Events
    • A: Initial Value
    • T: Time
    • D: Delta
    • P: Percent

#1: Monitor every 5 seconds

  • min_timer_trig = 1
  • archive_max_int = 5
  • archive_min_int = 0
  • archive_delta = 0
  • archive_delta_percent = 0.0
Time:  0 1 2 3 4 5 6 7 8 9 10
Value: 1 2 3 4 5 6 5 6 5 4 2
Event: I         T         T

#2: Monitor each time the value changes by 2 since last archival

  • min_timer_trig = 1
  • archive_max_int = 0
  • archive_min_int = 0
  • archive_delta = 2
  • archive_delta_percent = 0.0
Time:  0 1 2 3 4 5 6 7 8 9 10
Value: 1 2 3 4 5 6 5 6 5 4 2
Event: I   D   D           D

#3: Monitor each time the value changes by 50% since last archival

  • min_timer_trig = 1
  • archive_max_int = 0
  • archive_min_int = 0
  • archive_delta = 0
  • archive_delta_percent = 0.5
Time:  0 1 2 3 4 5 6 7 8 9 10
Value: 1 2 3 4 5 6 5 6 5 4 2
Event: I P P   P           P

#3: Monitor each time the value changes by 50% since last archival, but no more often than every 2 seconds

  • min_timer_trig = 1
  • archive_max_int = 0
  • archive_min_int = 2
  • archive_delta = 0
  • archive_delta_percent = 0.5
Time:  0 1 2 3 4 5 6 7 8 9 10
Value: 1 2 3 4 5 6 5 6 5 4 2
Event: I   P   P           P

#4: Monitor each time the value changes by 2 since last archival, or 3 seconds

  • min_timer_trig = 1
  • archive_max_int = 3
  • archive_min_int = 0
  • archive_delta = 2
  • archive_delta_percent = 0
Time:  0 1 2 3 4 5 6 7 8 9 10
Value: 1 2 3 4 5 6 5 6 5 4 2
Event: I   D   D     T   D D
  • No labels