et_selector(3)

NAME
et_selector - Define event transforms and trace patterns

DESCRIPTION

EXPORTS

make_pattern(RawPattern) -> TracePattern

    Types:
        RawPattern = detail_level()
        TracePattern = erlang_trace_pattern_match_spec()
        detail_level() = min | max | integer(X) when X >= 0, X =< 100

    Makes a trace pattern suitable to feed change_pattern/1

    Min detail level deactivates tracing of calls to et:trace_me/4,5

    Max detail level activates tracing of all calls to et:trace_me/4,5

    integer(X) detail level activates tracing of all calls to et:trace_me/4,5 whose detail level argument is lesser than X.

    See also erlang:trace_pattern/2 for more info about its match_spec()

change_pattern(Pattern) -> ok

    Types:
        Pattern = detail_level() | empty_match_spec() | erlang_trace_pattern_match_spec()
        detail_level() = min | max | integer(X) when X >= 0, X =< 100
        empty_match_spec() = []

    Activates/deactivates tracing by changing the current trace pattern.

    min detail level deactivates tracing of calls to et:trace_me/4,5

    max detail level activates tracing of all calls to et:trace_me/4,5

    integer(X) detail level activates tracing of all calls to et:trace_me/4,5 whose detail level argument is lesser than X.

    An empty match spec deactivates tracing of calls to et:trace_me/4,5

    Other match specs activates tracing of calls to et:trace_me/4,5 accordingly with erlang:trace_pattern/2.

parse_event(Mod, ValidTraceData) -> false | true | {true, Event}

    Types:
        Mod = module_name() | undefined
        module_name() = atom()
        ValidTraceData = erlang_trace_data() | record(event)
        erlang_trace_data() = {trace, Pid, Label, Info} | {trace, Pid, Label, Info, Extra} | {trace_ts, Pid, Label, Info, ReportedTS} | {trace_ts, Pid, Label, Info, Extra, ReportedTS} | {seq_trace, Label, Info} | {seq_trace, Label, Info, ReportedTS} | {drop, NumberOfDroppedItems}

    Transforms trace data and makes an event record out of it.

    See erlang:trace/3 for more info about the semantics of the trace data.

    An event record consists of the following fields:

        detail_level:
            Noise has a high level as opposed to essentials.

        trace_ts:
            Time when the trace was generated. Same as event_ts if omitted in trace data.

        event_ts:
            Time when the event record was created.

        from:
            From actor, such as sender of a message.

        to: To actor, such as receiver of message.

        label:
            Label intended to provide a brief event summary.

        contents:
            All nitty gritty details of the event.

    See et:trace_me/4and et:trace_me/5 for details.

    Returns:

        {true, Event}:
            where Event is an #event{} record representing the trace data

        true:
            means that the trace data already is an event record and that it is valid as it is. No transformation is needed.

        false:
            means that the trace data is uninteresting and should be dropped