# et_selector

### MODULE

et_selector

### MODULE SUMMARY

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 phone_home/4,5

Max detail level activates tracing of all calls to phone_home/4,5

integer(X) detail level activates tracing of all calls to phone_home/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 phone_home/4,5

Max detail level activates tracing of all calls to phone_home/4,5

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

An empty match spec deactivates tracing of calls to phone_home/4,5

Other match specs activates tracing of calls to phone_home/4,5 accordlingly with erlang:trace_pattern/2.

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

Types:

`Mod = module_name() | undefined <v>module_name() = atom() <v>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:phone_home/4 and et:phone_home/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

### AUTHORS

Håkan Mattsson - support@erlang.ericsson.se

et 1.0
Copyright © 1991-2006 Ericsson AB