The application monitor appmon
is a graphical node and
application viewer. The tool shows an overview of all
applications on all nodes, as well as the process tree of any
application on any node.
Starts the node window. Dynamically monitor all known Erlang nodes.
The node window monitors nodes and is named appmon. There is a menu bar, and each known node is shown in its own area, separated by a thin line. A node is represented by its name as the root of its application tree. The node name pictures the application controller on this node. The name itself is a menu where operations on the node can be performed - rebooting it for example. To the far left is a load meter - resembling those on a tape deck - which measures the current work load at the node. Below the node name - the application controller - is a tree of applications. Clicking on these applications starts the application monitor window.
The node window has a menu bar with the following options:
Each application controller visible in the node window can be selected by mouse click and produces a menu with the following options:
Finally, the node window contains a load meter for each node. Load can be measured as processor time / elapsed time, or as the length of the runtime queue, by selecting the appropriate option from the Options menu.
The listbox window lists the nodes and applications that are shown in the appmon window. This window can be used when there are too many applications in the appmon window so that the names are hard to read.
The Application window is opened by a single click on an application and then pressing the load
button, or by double clicking on an application. Close
closes the window.
The application window monitors an application. The name of the window will be the application name and the node name. The window shows a menu bar, a toolbar and the application tree. Application trees come in two varieties:
The tree gathering and building algorithms assume conformance to supervision implementation when in supervision mode, but will otherwise work for standard Erlang.
The application window menu bar contains the following options:
The application toolbar controls the actions of the mouse pointer. Clicking on a process in the application window have different meaning depending on which tool is selected. The procedure is to first press a button - T for trace, for example - and then click on the process that should be traced.
The application window toolbar contains the following options:
sys:trace
call and not all processes respond to
this.Appmon consists of the following modules:
appmon
appmon_lb
appmon_a
appmon_dg
appmon_place
appmon_txt
appmon_info
Appmon is a distributed program, but all graphics are handled on a
central node and GS
need only be loaded on this
single node. All real monitoring is done in a single module
(appmon_info
) which runs on each node which acts as an
information centre. The various windows - node and application -
then subscribe to information.
In summary then, only the appmon_info
module must be
accessible by the clients, the rest of the appmon modules are
only needed at the server.
If the node window does not show all the nodes expected, then check the following:
nodes()
command in the shell? If not, do
net_adm:ping(NodeName)
to add nodes to the Erlang distribution.
If the application window does not show the supervision tree, then check that the application have a real application master. It is absolutely necessary that the top process behaves as a supervisor when the supervision view is used.