et_viewer.3erl

Langue: en

Autres versions - même langue

Version: 356745 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

et_viewer - Displays a sequence chart for trace events (messages/actions)

DESCRIPTION

EXPORTS

file(FileName) -> {ok, ViewerPid} | {error, Reason}

Types
FileName() = string()
ViewerPid = pid()
Reason = term()

Start a new event viewer and a corresponding collector and load them with trace events from a trace file.

start() -> ok


Simplified start of a sequence chart viewer with global tracing activated.
Convenient to be used from the command line (erl -s et_viewer).

start(Options) -> ok


Start of a sequence chart viewer without linking to the parent process.

start_link(Options) -> {ok, ViewerPid} | {error, Reason}

Types
Options = [option() | collector_option()]
option() = {parent_pid, extended_pid()} | {title, term()} | {detail_level, detail_level()} | {is_suspended, boolean()} | {scale, integer()} | {width, integer()} | {height, integer()} | {collector_pid, extended_pid()} | {event_order, event_order()} | {active_filter, atom()} | {max_events, extended_integer()} | {max_actors, extended_integer()} | {trace_pattern, et_collector_trace_pattern()} | {trace_port, et_collector_trace_port()} | {trace_global, et_collector_trace_global()} | {trace_client, et_collector_trace_client()} | {dict_insert, {filter, filter_name()}, event_filter_fun()} | {dict_insert, et_collector_dict_key(), et_collector_dict_val()} | {dict_delete, {filter, filter_name()}} | {dict_delete, et_collector_dict_key()} | {actors, actors()} | {first_event, first_key()} | {hide_unknown, boolean()} | {hide_actions, boolean()} | {display_mode, display_mode()}
extended_pid() = pid() | undefined
detail_level() = min | max | integer(X) when X >=0, X =< 100
event_order() = trace_ts | event_ts
extended_integer() = integer() | infinity
display_mode() = all | {search_actors, direction(), first_key(), actors()}
direction() = forward | reverse
first_key() = event_key()
actors() = [term()]


filter_name() = atom()
filter_fun() = fun(Event) -> false | true | {true, NewEvent}
Event = NewEvent = record(event)
ViewerPid = pid()
Reason = term()


Start a sequence chart viewer for trace events (messages/actions)
A filter_fun() takes an event record as sole argument and returns false | true | {true, NewEvent}.
If the collector_pid is undefined a new et_collector will be started with the following parameter settings: parent_pid, event_order, trace_global, trace_pattern, trace_port, trace_max_queue, trace_client, dict_insert and dict_delete. The new et_viewer will register itself as an et_collector subscriber.
Default values:

*
parent_pid - self().


*
title - "et_viewer".


*
detail_level - max.


*
is_suspended - false.


*
scale - 2.


*
width - 800.


*
height - 600.


*
collector_pid - undefined.


*
event_order - trace_ts.


*
active_filter - collector.


*
max_events - 100.


*
max_actors - 5.


*
actors - ["UNKNOWN"].


*
first_event - first.


*
hide_unknown - false.


*
hide_actions - false.


*
display_mode - all.


get_collector_pid(ViewerPid) -> CollectorPid

Types
ViewerPid = pid()
CollectorPid = pid()

Returns the identifier of the collector process.

stop(ViewerPid) -> ok

Types
ViewerPid = pid()

Stops a viewer process.