23 #ifndef CORRELATION_GROUPING_PARSER_H_INCLUDED
24 #define CORRELATION_GROUPING_PARSER_H_INCLUDED
51 LogMessage *(*aggregate_context)(GroupingParser *
self, CorrelationContext *context);
54 static inline gboolean
55 grouping_parser_filter_messages(GroupingParser *
self, LogMessage **pmsg,
const LogPathOptions *
path_options)
57 if (
self->filter_messages)
62 static inline CorrelationContext *
65 if (
self->construct_context)
66 return self->construct_context(
self,
key);
70 static inline gboolean
71 grouping_parser_update_context(GroupingParser *
self, CorrelationContext *context, LogMessage *
msg)
73 return self->update_context(
self, context,
msg);
92 const char *input, gsize input_len);
CorrelationContext * correlation_context_new(CorrelationKey *key)
Definition: correlation-context.c:124
CorrelationScope
Definition: correlation-key.h:30
CorrelationContext * grouping_parser_lookup_or_create_context(GroupingParser *self, LogMessage *msg)
Definition: grouping-parser.c:184
void grouping_parser_set_timeout(LogParser *s, gint timeout)
Definition: grouping-parser.c:54
gboolean grouping_parser_init_method(LogPipe *s)
Definition: grouping-parser.c:293
gboolean grouping_parser_deinit_method(LogPipe *s)
Definition: grouping-parser.c:313
void grouping_parser_global_init(void)
Definition: grouping-parser.c:353
gboolean grouping_parser_process_method(LogParser *s, LogMessage **pmsg, const LogPathOptions *path_options, const char *input, gsize input_len)
Definition: grouping-parser.c:273
GroupingParserUpdateContextResult
Definition: grouping-parser.h:33
@ GP_CONTEXT_COMPLETE
Definition: grouping-parser.h:35
@ GP_CONTEXT_UPDATED
Definition: grouping-parser.h:34
@ GP_STARTS_NEW_CONTEXT
Definition: grouping-parser.h:36
void grouping_parser_init_instance(GroupingParser *self, GlobalConfig *cfg)
Definition: grouping-parser.c:340
void grouping_parser_free_method(LogPipe *s)
Definition: grouping-parser.c:328
void grouping_parser_set_scope(LogParser *s, CorrelationScope scope)
Definition: grouping-parser.c:46
LogMessage * grouping_parser_aggregate_context(GroupingParser *self, CorrelationContext *context)
Definition: grouping-parser.c:141
void grouping_parser_perform_grouping(GroupingParser *s, LogMessage *msg, StatefulParserEmittedMessages *emitted_mesages)
Definition: grouping-parser.c:233
void grouping_parser_set_sort_key_template(LogParser *s, LogTemplate *sort_key)
Definition: grouping-parser.c:37
void grouping_parser_clone_settings(GroupingParser *self, GroupingParser *cloned)
Definition: grouping-parser.c:62
void grouping_parser_set_key_template(LogParser *s, LogTemplate *key_template)
Definition: grouping-parser.c:28
#define self
Definition: rcptid.c:38
Definition: correlation-key.h:47
Definition: correlation.h:33
Definition: stateful-parser.h:74
Definition: stateful-parser.h:37
Definition: grouping-parser.h:40
CorrelationState * correlation
Definition: grouping-parser.h:43
StatefulParser super
Definition: grouping-parser.h:41
GroupingParserUpdateContextResult(* update_context)(GroupingParser *self, CorrelationContext *context, LogMessage *msg)
Definition: grouping-parser.h:50
gint timeout
Definition: grouping-parser.h:46
LogTemplate * key_template
Definition: grouping-parser.h:44
LogTemplate * sort_key_template
Definition: grouping-parser.h:45
gboolean(* filter_messages)(GroupingParser *self, LogMessage **pmsg, const LogPathOptions *path_options)
Definition: grouping-parser.h:48
struct iv_timer tick
Definition: grouping-parser.h:42
CorrelationScope scope
Definition: grouping-parser.h:47
GlobalConfig * cfg
Definition: test_batched_ack_tracker.c:34
LogMessage * msg
Definition: test_rename.c:35
LogPathOptions path_options
Definition: test_wildcard_file_reader.c:62
struct tm key
Definition: cache.c:63