Inspired by MaxLinesPerSecond available for log monitoring items I wonder if it wouldn't be a reasonable setting for trapper based items as well.
That would allow to limit possible throughput/input caused by malfunctions, mistakes or unexpected peak loads.
There are several implementations thinkable. The idea I've currently in mind - not really thought to the end:
- option "Maximum values per minute" on trapper item level.
- dedicated counter for trapper items in shared memory of receiving entity
- counter is periodically set to a value based on "Maximum values per minute", taking into account the counter's update period/interval ( MaxValsPerMin / ( 60 / CntUpdInterval ) )
- new item values are accepted while counter is greater than 0
- counter gets decreased for every accepted new item value
- it's up to the sending entity whether to drop or to queue unaccepted values (E.g like mentioned here: https://support.zabbix.com/browse/ZBXNEXT-1686?focusedCommentId=77652&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-77652)
- Hitting the limit is ideally noticeable like described in ZBXNEXT-1842