Scalars become equality tests on the first element (event type/name matches this).

Hashes become recursive conditions, where each key is matched on the field. The
type pseudofield is the first element of the event. Every value in the hash
gets compile_cond called on it recursively.

Code references are returned verbatim.

The output is a code reference that can be used to match events.

first %args

Return the first event that matches a certain condition.

Requires the match and events parameters.

grep %args

Return the list of events that match a certain condition.

Requires the match and events parameters.

limit from => $cond, to => $cond, %args

Return events between two events. If from or to is omitted then it
returns all the events up to or from the other filter (from defaults to
sub { 1 } and to defaults to sub { 0 }).

If either the from_inclusive and to_inclusive parameters are provided and
set to false then the range will only begin on the event after the from
match and end on the event before the to match respectively.

Requires the events parameter.

chunk %args

Cuts the event log into chunks. When $marker matches a new chunk is opened.

Requires the marker and events parameters.

The first and last parameters, when provided and false will cause the
first and last chunks to be dropped, respectively.