aboutsummaryrefslogtreecommitdiffstats
path: root/lib/appmon/priv
diff options
context:
space:
mode:
Diffstat (limited to 'lib/appmon/priv')
-rw-r--r--lib/appmon/priv/Makefile65
-rw-r--r--lib/appmon/priv/appmon.gifbin0 -> 125 bytes
-rw-r--r--lib/appmon/priv/appmon.tool24
-rw-r--r--lib/appmon/priv/appmon_help.txt154
-rw-r--r--lib/appmon/priv/blank.html6
-rw-r--r--lib/appmon/priv/info_frames.html9
-rw-r--r--lib/appmon/priv/main_frame.html9
-rw-r--r--lib/appmon/priv/start_info.html31
8 files changed, 298 insertions, 0 deletions
diff --git a/lib/appmon/priv/Makefile b/lib/appmon/priv/Makefile
new file mode 100644
index 0000000000..9af4fbd228
--- /dev/null
+++ b/lib/appmon/priv/Makefile
@@ -0,0 +1,65 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 1996-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+include $(ERL_TOP)/make/target.mk
+include $(ERL_TOP)/make/$(TARGET)/otp.mk
+
+include ../vsn.mk
+VSN = $(APPMON_VSN)
+
+# ----------------------------------------------------
+# Release directory specification
+# ----------------------------------------------------
+RELSYSDIR = $(RELEASE_PATH)/lib/appmon-$(VSN)
+
+#
+# Macros
+#
+HELP_FILES = \
+ appmon_help.txt
+
+TOOLBAR_FILES = \
+ appmon.tool \
+ appmon.gif \
+ start_info.html \
+ main_frame.html \
+ info_frames.html \
+ blank.html
+
+#
+# Rules
+#
+
+debug opt:
+
+docs:
+
+clean:
+
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+release_spec: opt
+ $(INSTALL_DIR) $(RELSYSDIR)/priv
+ $(INSTALL_DATA) $(HELP_FILES) $(TOOLBAR_FILES) $(RELSYSDIR)/priv
+
+release_docs_spec:
+
+FORCE:
diff --git a/lib/appmon/priv/appmon.gif b/lib/appmon/priv/appmon.gif
new file mode 100644
index 0000000000..583fcb8311
--- /dev/null
+++ b/lib/appmon/priv/appmon.gif
Binary files differ
diff --git a/lib/appmon/priv/appmon.tool b/lib/appmon/priv/appmon.tool
new file mode 100644
index 0000000000..93a469c6a4
--- /dev/null
+++ b/lib/appmon/priv/appmon.tool
@@ -0,0 +1,24 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1996-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+{version,"1.2"}.
+[{config_func,{appmon_web,configData,[]}},
+{tool,"Appmon"},
+ {start,{appmon,start,[]}},
+ {icon,"appmon.gif"},
+ {message,"Application Monitor"},
+ {html,"../doc/html/index.html"}].
diff --git a/lib/appmon/priv/appmon_help.txt b/lib/appmon/priv/appmon_help.txt
new file mode 100644
index 0000000000..f1685be4d8
--- /dev/null
+++ b/lib/appmon/priv/appmon_help.txt
@@ -0,0 +1,154 @@
+
+
+
+ Help for the application monitor system
+ ---------------------------------------
+
+
+
+
+
+ The monitor system has two types of windows, the node window
+ which opens when appmon:start() is evaluated, and the
+ application window which opens when an application in the node
+ window is clicked on.
+
+ All nodes that are known to appmon is shown in the node
+ window, normally this is all Erlang nodes visible with the
+ nodes() command.
+
+
+The Node window
+---------------
+
+ The node window monitors nodes. At the top there is a menubar
+ and below that, each known node is shown separated with a thin
+ line from the others. A node is represented by its name as
+ root of its application tree. The node name pictures the
+ application controller on that node. The name itself is a menu
+ where operations on the node can be performed (rebooting it
+ for instance). To the far left is a load meter (like those on
+ a tape deck) which measures the current load at the
+ node. Below the node name (the application controller) is a
+ tree with applications, clicking on these applications starts
+ the application monitor.
+
+
+ The top window menubar
+ ----------------------
+
+ File:Quit - Stop the monitor.
+
+ Options:
+ Load: time - Load is calculated (roughly) as processor time.
+ Load: queue - Load is calculated as the length of the ready
+ queue.
+ Load: prog - A progressive scale is used for load values.
+ Load: linear - A linear scale is used for load values.
+
+ Help - Prints this message.
+
+
+ The application controller menu
+ -------------------------------
+ Reboot - Reboot the node
+ Restart - Restart the node
+ Stop - Stop the node
+
+
+ The load meter
+ --------------
+
+ Load can be measured as processor time / elapsed time or as
+ the length of the runtime queue, depending on the setting in
+ the Options menu.
+
+
+The Application window
+----------------------
+
+ The application window monitors an application. It will
+ automaticly update the window every other second or so if
+ there are any changes in the process tree. At the top there is
+ a menubar followed by a toolbar and then the application
+ tree. Application trees come in two flavours: supervision
+ view, where a strict supervision tree is shown, and process
+ view, where all linked processes in the application is shown.
+
+
+ The application window menubar
+ ------------------------------
+
+ File:Quit - Quit the application window.
+
+ Options:Refresh - Update process information and refresh
+ screen.
+
+ Options:Sup. view
+ - Show strict supervision tree only.
+
+ Options:Proc. view
+ - Show all linked processes.
+
+ Help - Prints this message.
+
+
+ The application window toolbar
+ ------------------------------
+
+ 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.
+
+ Info - Process information is printed in the shell. This mode
+ is default and automaticly returned to after a mouse click.
+
+ Send - Send a message to the clicked process. A window will
+ pop up where the message can be written (and you can also
+ change the destination pid). Double clicking on this button
+ pops up a window where pid and message can be filled in.
+
+ Trace - Toggle trace on/off on the process. Note that not all
+ processes respond to the sys:trace call.
+
+ Kill - Send a non-trappable exit signal to the process.
+
+
+Technical Detail
+----------------
+
+ Files and distribution
+ ----------------------
+
+ Appmon is a distributed program but all graphics is handled on
+ one node (the one it is started on) so GS need only to be
+ loaded on that single node. All real monitoring is done in a
+ single module (appmon_info) being run on each node which acts
+ as an information centre. The various windows (node and
+ application) then subscribe for information.
+
+ In summary: only the appmon_info module must be accessible by
+ the clients, the rest of the appmon files are only needed at
+ the server.
+
+ Trouble shooting
+ ----------------
+
+ Q. Why doesn't all my nodes show up in the node window?
+
+ A 1. Are the nodes visible with the nodes() command in the
+ shell? If not you must do net:ping(NodeName) to add nodes to
+ the Erlang distribution.
+
+ A 2. Is the appmin_info module loadable at the missing
+ node(s)?
+
+ Q. Why doesn't the application window show my application
+ supervision structure?
+
+ A. Does your application have a real application master? It is
+ absolutely necessary that your top process behaves as a
+ supervisor should (a program is not supervised just because it
+ is started with application:start).
diff --git a/lib/appmon/priv/blank.html b/lib/appmon/priv/blank.html
new file mode 100644
index 0000000000..44e86908a0
--- /dev/null
+++ b/lib/appmon/priv/blank.html
@@ -0,0 +1,6 @@
+<HTML>
+<HEAD></HEAD>
+<BODY BGCOLOR="#FFFFFF">
+&nbsp;
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/lib/appmon/priv/info_frames.html b/lib/appmon/priv/info_frames.html
new file mode 100644
index 0000000000..9320364883
--- /dev/null
+++ b/lib/appmon/priv/info_frames.html
@@ -0,0 +1,9 @@
+<HTML>
+<HEAD>
+<TITLE>WebAppmon </TITLE>
+</HEAD>
+<FRAMESET ROWS="85%,15%" BORDER="0">
+<FRAME NAME="main" SRC="./start_info.html">
+<FRAME NAME="proc_data" SRC="./blank.html">
+</FRAMESET>
+</HTML> \ No newline at end of file
diff --git a/lib/appmon/priv/main_frame.html b/lib/appmon/priv/main_frame.html
new file mode 100644
index 0000000000..57e540a2c1
--- /dev/null
+++ b/lib/appmon/priv/main_frame.html
@@ -0,0 +1,9 @@
+<HTML>
+<HEAD>
+<TITLE>WebAppmon </TITLE>
+</HEAD>
+<FRAMESET COLS="15%,85%" >
+ <FRAME NAME="left" SRC="../../erl/appmon_web/node_info">
+ <FRAME NAME="base_frames" SRC="./info_frames.html">
+</FRAMESET>
+</HTML> \ No newline at end of file
diff --git a/lib/appmon/priv/start_info.html b/lib/appmon/priv/start_info.html
new file mode 100644
index 0000000000..580319beb1
--- /dev/null
+++ b/lib/appmon/priv/start_info.html
@@ -0,0 +1,31 @@
+<HTML>
+<HEAD>
+</HEAD>
+<BODY BGCOLOR="#FFFFFF">
+<TABLE WIDTH=100% HEIGHT=100%>
+<TR VALIGN="middle">
+<TD ALIGN="center">
+
+<TABLE WIDTH="60%">
+<TR>
+<TD ALIGN="center">
+<FONT SIZE=6>Welcome to the Web based User Interface to Appmon
+</FONT></TD>
+</TR>
+
+<TR>
+<TD><BR><BR><BR><BR>
+</TD>
+</TR>
+
+<TR>
+<TD ALIGN="center">&nbsp;
+</TD>
+</TR>
+</TABLE>
+
+</TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML> \ No newline at end of file