Event Filters¶
-
class
performance.driver.core.eventfilters.EventFilter(expression)[source]¶ Various trackers in DC/OS Performance Test Driver are operating purely on events. Therefore it’s some times needed to use a more elaborate selector in order to filter the correct events.
The following filter expression is currently supported and are closely modeled around the CSS syntax:
EventName[attrib1=value,attrib2=value,...]:selector1:selector2:...
Where:
_Event Name_ is the name of the event or
*if you want to match any event._Attributes_ is a comma-separated list of
<attrib> <operator> <value>values. For example:method==post. The following table summarises the different operators you can use for the attributes.Operator Description =or==Equal (case sensitive for strings) !=Not equal >,>=Grater than / Grater than or equal <,<=Less than / Less than or equal ~=Partial regular expression match ~==Exact regular expression match <~Value in list or key in dictionary (like in)_Selector_ specifies which event out of many similar to chose. Valid selectors are:
Selector Description :firstMatch the first event in the tracking session :lastMatch the last event in the tracking session :nth(n):nth(n,grp)Match the n-th event in the tracking session. If a grpparameter is specified, the counter will be groupped with the given indicator.:singleMatch a single event, globally. After the first match all other usages accept by default. :after(Xs)Trigger after X seconds after the last event :notraceIgnore the trace ID matching and accept any event, even if they do not belong in the trace session.
For example, to match every
HTTPRequestEvent:HTTPRequestEventOr, to match every POST
HTTPRequestEvent:HTTPRequestEvent[method=post]
Or, to match the last
HTTPResponseEndEventHTTPResponseEndEvent:last
Or, to match the
HTTPRequestStartEventthat contains the string “foo”:HTTPResponseEndEvent[body~=foo]
Or match any first event:
*:first