et_viewer(3)
πΈ NAME πΈ
et_viewer β she displays a sequence chart for trace events (messages/actions) π
β¨ DESCRIPTION β¨
okay so bestie, real talk: this section is literally empty in the original page π like the Erlang folks just hit enter and moved on. The vibe is fully carried by the NAME up top and the DATA TYPES + FUNCTIONS below. No cap. π«Ά
π¦ DATA TYPES π¦
here's the whole cast, no skips, no cuts π
actors()β[term()].first_key()βterm().option()β the big one, the main character π:
option() ::
{title, string()} |
{detail_level, 0..100} |
{is_suspended, boolean()} |
{scale, integer()} |
{width, integer()} |
{height, integer()} |
{collector_pid, pid() | undefined} |
{active_filter, atom()} |
{max_events, integer() | undefined} |
{max_actors, integer() | undefined} |
{actors, actors()} |
{first_event, first_key()} |
{hide_unknown, boolean()} |
{hide_actions, boolean()} |
{display_mode,
all |
{search_actors, forward | reverse, first_key(), actors()}}.
ik that union is giving menu at a fancy restaurant but every single line is load-bearing, bestie π
π₯ FUNCTIONS π₯
π file/1
file(FileName :: file:filename()) -> {ok, pid()} | {error, term()}.
start a whole new event viewer plus a matching collector, and load them up with trace events straight outta a trace file πβ¨ it's giving "bring your own data".
π get_collector_pid/1
get_collector_pid(ViewerPid :: pid()) -> pid().
hand her a viewer pid, she hands you back the identifier of the collector process. that's it, that's the function, no notes π
πΈ start/0
start() -> {ok, pid()} | {error, term()}.
the simplified glow-up start of a sequence chart viewer, with global tracing already activated π super convenient to use straight from the command line, like so:
erl -s et_viewer
π¦ start/1
start(GUIorOptions) -> {ok, Viewer :: pid()} | {error, term()}
when
GUIorOptions :: wx | default | Options,
Options :: [option() | et_collector:option()].
start of a sequence chart viewer without linking to the parent process β no invisible leash, she's independent π«Ά
β start_link/1
start_link(GUIorOptions) ->
{ok, Viewer :: pid()} | {error, term()}
when
GUIorOptions :: wx | default | Options,
Options :: [option() | et_collector:option()].
start a sequence chart viewer for trace events (messages/actions) π₯
quick note on filters, because this part matters: a filter_fun() takes an event record as its sole argument and returns false | true | {true, NewEvent}.
and if collector_pid is undefined, a brand new et_collector gets started up with these 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 then registers 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_actors-5.actors-["UNKNOWN"].first_event-first.hide_unknown-false.hide_actions-false.display_mode-all.
π stop/1
stop(ViewerPid :: pid()) -> ok.
stops a viewer process. bye bestie, you ate π«‘β¨
and that's the whole page, fr fr ππ this gem dropped as part of Ericsson AB's et 1.8, and you're reading the et_viewer(3) manual page β go forth and chart those events, queen ππ
π¦ where this page comes from
- nixos 26.05: erlang 29.1.2
- nixpkgs unstable: erlang 29.1.2
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms