ovis icon indicating copy to clipboard operation
ovis copied to clipboard

updtr_match_add needs exclude= argument or equivalent default behavior

Open baallan opened this issue 1 year ago • 0 comments

it's very difficult (and ugly) to correctly configure a daemon with both pull and push sets.

Example of unhappiness:

pull

updtr_add auto_interval=true name=all_admin1 interval=1000000 offset=230000 updtr_prdcr_add name=all_admin1 regex=.* updtr_match_add name=all_admin1 match=schema regex=^[^l][^i][^n] updtr_start auto_interval=true name=all_admin1

push

updtr_add name=push_admin1 push=onchange interval=1000000 updtr_prdcr_add name=push_admin1 regex=.* updtr_match_add name=push_admin1 regex=linux_proc_sampler match=schema updtr_start name=push_admin1

Would much prefer that either: (a) defining an updtr which gathers a matched item (schema or set) in a different mode removes that schema/set from all prior updtr locations (b) updtr_match_add take an exclude argument so that above match adds can be rewritten:

updtr_match_add name=all_admin1 match=schema regex=.* exclude_regex=linux_proc_sampler
updtr_match_add name=push_admin1 regex=linux_proc_sampler match=schema

where either exclude_regex= can be repeated or we heavily document how the user must formulate a multiple exclusion regex where each exclusion subvalue is wildcard expression. e.g. exclude_regex=(linux_proc_sampler|procne.*)

And with the syntax fix should also be a check that at least warns the user if the same set ends up the object of 2 updtrs, as this almost inevitably creates oversampled errors.

baallan avatar Apr 12 '23 22:04 baallan