---
name: "et_viewer"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:25.2.3+dfsg-1+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/et_viewer"
---

# et\_viewer(3erl)

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

## 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\_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\_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.
