23#ifndef LOG_BUILTINS_FILTER_H
24#define LOG_BUILTINS_FILTER_H
147#define LOG_FILTER_RULE_MAX 512
Specifies macros to define Components.
struct _log_filter_rule log_filter_rule
struct _log_filter_tag log_filter_tag
enum enum_log_builtins_lock log_builtins_filter_lock
enum_log_filter_verb
Definition: log_builtins_filter.h:37
@ LOG_FILTER_ITEM_SET
add field
Definition: log_builtins_filter.h:41
@ LOG_FILTER_UNDEF
not set
Definition: log_builtins_filter.h:38
@ LOG_FILTER_THROTTLE
rate-limit this line class
Definition: log_builtins_filter.h:40
@ LOG_FILTER_RETURN
stop filtering, run (next filter or) sinks
Definition: log_builtins_filter.h:43
@ LOG_FILTER_CHAIN_AND
no verb yet, part of a condition chain
Definition: log_builtins_filter.h:45
@ LOG_FILTER_DROP
drop this log event
Definition: log_builtins_filter.h:39
@ LOG_FILTER_CHAIN_OR
no verb yet, part of a condition chain
Definition: log_builtins_filter.h:46
@ LOG_FILTER_ITEM_DEL
remove field
Definition: log_builtins_filter.h:42
enum enum_log_filter_cond log_filter_cond
struct _log_filter_ruleset log_filter_ruleset
enum_log_filter_cond
Definition: log_builtins_filter.h:49
@ LOG_FILTER_COND_GT
greater than
Definition: log_builtins_filter.h:56
@ LOG_FILTER_COND_NE
not equal
Definition: log_builtins_filter.h:52
@ LOG_FILTER_COND_ABSENT
field absent
Definition: log_builtins_filter.h:58
@ LOG_FILTER_COND_LE
less or equal
Definition: log_builtins_filter.h:54
@ LOG_FILTER_COND_LT
less than
Definition: log_builtins_filter.h:53
@ LOG_FILTER_COND_GE
greater or equal
Definition: log_builtins_filter.h:55
@ LOG_FILTER_COND_NONE
not set / unconditional
Definition: log_builtins_filter.h:50
@ LOG_FILTER_COND_EQ
equal
Definition: log_builtins_filter.h:51
@ LOG_FILTER_COND_PRESENT
field present
Definition: log_builtins_filter.h:57
enum enum_log_filter_match log_filter_match
Note that if our condition requires absence of the key, and the key does not exist,...
#define LOG_FILTER_RULE_MAX
Definition: log_builtins_filter.h:147
enum enum_log_filter_apply log_filter_apply
enum_log_filter_apply
Definition: log_builtins_filter.h:80
@ LOG_FILTER_APPLY_SUCCESS
all's well that applies well
Definition: log_builtins_filter.h:82
@ LOG_FILTER_APPLY_ARGUMENT_OUT_OF_RANGE
invalid argument, e.g.
Definition: log_builtins_filter.h:84
@ LOG_FILTER_APPLY_UNKNOWN_OPERATION
action/verb not known/implement by this filter
Definition: log_builtins_filter.h:90
@ LOG_FILTER_APPLY_OUT_OF_MEMORY
variant of malloc() failed
Definition: log_builtins_filter.h:88
@ LOG_FILTER_APPLY_ITEM_BAG_FULL
log line does not accept further items
Definition: log_builtins_filter.h:86
@ LOG_FILTER_APPLY_TARGET_NOT_IN_LOG_LINE
had a match for the condition/comparator, but not for the action/verb
Definition: log_builtins_filter.h:92
enum_log_builtins_lock
Definition: log_builtins_filter.h:172
@ LOG_BUILTINS_LOCK_SHARED
read-only lock
Definition: log_builtins_filter.h:174
@ LOG_BUILTINS_LOCK_NONE
undefined
Definition: log_builtins_filter.h:173
@ LOG_BUILTINS_LOCK_EXCLUSIVE
read-write lock
Definition: log_builtins_filter.h:175
enum enum_log_filter_flags log_filter_flags
enum enum_log_filter_verb log_filter_verb
enum_log_filter_match
Note that if our condition requires absence of the key, and the key does not exist,...
Definition: log_builtins_filter.h:65
@ LOG_FILTER_MATCH_SUCCESS
success
Definition: log_builtins_filter.h:67
@ LOG_FILTER_MATCH_COMPARATOR_UNKNOWN
invalid value
Definition: log_builtins_filter.h:73
@ LOG_FILTER_MATCH_UNSATISFIED
failure
Definition: log_builtins_filter.h:69
@ LOG_FILTER_MATCH_UNCOMPARED
don't know yet
Definition: log_builtins_filter.h:71
@ LOG_FILTER_MATCH_CLASSES_DIFFER
either both or neither operands must be strings
Definition: log_builtins_filter.h:75
@ LOG_FILTER_MATCH_UNSUPPORTED_FOR_TYPE
comparator does not exist for this type (yet)
Definition: log_builtins_filter.h:77
enum_log_filter_flags
Definition: log_builtins_filter.h:95
@ LOG_FILTER_FLAG_NONE
normal state
Definition: log_builtins_filter.h:97
@ LOG_FILTER_FLAG_DISABLED
rule temporarily disabled
Definition: log_builtins_filter.h:102
@ LOG_FILTER_FLAG_SYNTHETIC
used to identify rules that don't come from the rule engine, but were injected by the server for emul...
Definition: log_builtins_filter.h:100
unsigned long long int ulonglong
Definition: my_inttypes.h:55
int32_t int32
Definition: my_inttypes.h:65
uint32_t uint32
Definition: my_inttypes.h:66
static int count
Definition: myisam_ftdump.cc:42
#define DECLARE_METHOD(retval, name, args)
Declares a method as a part of the Service definition.
Definition: service.h:102
#define END_SERVICE_DEFINITION(name)
A macro to end the last Service definition started with the BEGIN_SERVICE_DEFINITION macro.
Definition: service.h:90
#define BEGIN_SERVICE_DEFINITION(name)
Declares a new Service.
Definition: service.h:85
Specifies macros to define Service Implementations.
Definition: log_builtins_filter.h:110
ulong throttle_matches
how many lines in this window matched? (both suppressed and not)
Definition: log_builtins_filter.h:135
log_item match
compare to this item type/class/key/value etc
Definition: log_builtins_filter.h:123
log_filter_cond cond
how to compare: < > == regex etc
Definition: log_builtins_filter.h:124
ulong jump
default: 0.
Definition: log_builtins_filter.h:112
log_item aux
aux: item to add/prio to set/throttle rate
Definition: log_builtins_filter.h:126
ulong id
index may change; this will not
Definition: log_builtins_filter.h:111
log_filter_verb verb
what to do: drop, upvote, etc
Definition: log_builtins_filter.h:125
ulonglong throttle_window_end
for rate-limiting: at what time will current window end?
Definition: log_builtins_filter.h:131
mysql_rwlock_t rule_lock
lock an individual rule (to update state keeping)
Definition: log_builtins_filter.h:144
ulong flags
log_filter_flags (fix storage size)
Definition: log_builtins_filter.h:138
volatile int32 match_count
how often did this rule match?
Definition: log_builtins_filter.h:141
ulong throttle_window_size
for rate-limiting: window-size (in seconds)
Definition: log_builtins_filter.h:133
Definition: log_builtins_filter.h:149
log_filter_tag * tag
creator of this rule
Definition: log_builtins_filter.h:151
log_filter_rule rule[LOG_FILTER_RULE_MAX]
rules in this ruleset
Definition: log_builtins_filter.h:158
mysql_rwlock_t ruleset_lock
lock for whole ruleset.
Definition: log_builtins_filter.h:169
uint32 alloc
maximum number of rules in this ruleset
Definition: log_builtins_filter.h:156
uint32 count
number of rules currently in ruleset
Definition: log_builtins_filter.h:154
Definition: log_builtins_filter.h:105
const char * filter_name
name of the service that created this rule
Definition: log_builtins_filter.h:106
void * filter_data
for ad lib use by said service.
Definition: log_builtins_filter.h:107
Definition: log_shared.h:195
log_line ("log event")
Definition: keyring_log_builtins_definition.cc:71
An instrumented rwlock structure.
Definition: mysql_rwlock_bits.h:50