diff options
Diffstat (limited to 'lib/appmon/priv')
-rw-r--r-- | lib/appmon/priv/Makefile | 65 | ||||
-rw-r--r-- | lib/appmon/priv/appmon.gif | bin | 0 -> 125 bytes | |||
-rw-r--r-- | lib/appmon/priv/appmon.tool | 24 | ||||
-rw-r--r-- | lib/appmon/priv/appmon_help.txt | 154 | ||||
-rw-r--r-- | lib/appmon/priv/blank.html | 6 | ||||
-rw-r--r-- | lib/appmon/priv/info_frames.html | 9 | ||||
-rw-r--r-- | lib/appmon/priv/main_frame.html | 9 | ||||
-rw-r--r-- | lib/appmon/priv/start_info.html | 31 |
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 Binary files differnew file mode 100644 index 0000000000..583fcb8311 --- /dev/null +++ b/lib/appmon/priv/appmon.gif 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"> + +</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"> +</TD> +</TR> +</TABLE> + +</TD> +</TR> +</TABLE> +</BODY> +</HTML>
\ No newline at end of file |