<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
 "dtd/kdex.dtd" [
  <!ENTITY icecream "Icecream">
  <!ENTITY icemon "Icemon">
  <!ENTITY kappname "&icemon;">
  <!ENTITY package "icecream">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>

<book id="icemon" lang="&language;">

<bookinfo>

<title>The &icemon; Handbook</title>

<authorgroup>

<author>
<firstname>Cornelius</firstname>
<surname>Schumacher</surname>
<affiliation><address><email>cschum@suse.de</email></address></affiliation>
</author>

</authorgroup>

<copyright>
<year>2004</year><holder>Cornelius Schumacher</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2004-08-25</date>
<releaseinfo>0.1</releaseinfo>

<abstract><para>&icemon; is the monitor for &icecream;, which is a distributed
compile system. &icemon; visualizes the distributed compile jobs and shows
statistics and overview information.</para></abstract>

<keywordset>
<keyword>&icecream;</keyword>
</keywordset>

</bookinfo>


<chapter id="introduction">
<title>Introduction</title>

<para>&icecream; is a distributed compile system. It allows parallel compiling by
distributing the compile jobs to several nodes of a compile net running the
icecream daemon. The icecream scheduler routes the jobs and provides status and
statistics information to the icemon monitor.</para>

<para>Each compile node can accept one or more compile jobs depending on the
number of processors and the settings of the daemon. Link jobs and other jobs
which cannot be distributed are executed locally on the node where the
compilation is started.</para>

<para>&icemon; provides a view on the compile net, which jobs run where and
details about jobs and nodes.</para>

</chapter>

<chapter id="views">
<title>Views</title>

<para>&icemon; provides a variety of views on the icecream net. Which view is
shown can be selected in the "View" menu. If the view can be configured a
configuration dialog can be opened by choosing the "Configure" item from the
"Settings" menu.</para>

<para>By selecting "Stop" from the "View" menu the view can be stopped from
updating. By selecting "Start" from the view menu the updating is
resumed.</para>

<para>To refresh the nodes in the current view select "Check Nodes" from the
"View" menu.</para>

<para>The following sections describe the available views.</para>

<sect1 id="starview">
<title>Star View</title>

<para>
The star view shows the compile net as rings of nodes centered around the
scheduler. Each node is assigned a color which is used to color the node itself
and the compile jobs started from this node. A dashed line between the scheduler
and a node indicates that the corresponding node has sent a compile job to the
icecream net. A solid line between the scheduler and a node indicates that the
node has been assigned a job by the scheduler. The lines have the color of the
node issuing the jobs as well as the rings around the compiling node. Each ring
represents one compile job.</para>

<para>
The nodes have a label with the name of the corresponding host. When leaving the
mouse pointer over the label for a couple of seconds a tooltip is shown
containing some more information about the node like IP address, processor
architecture, name of the icecream flavor the color is based on, icecream id and
a speed index.
</para>

<para>
When selecting the "Configure" item of the "Settings" menu you get a
configuration dialog where you can configure the number of nodes shown in a
ring and specify a filter on the shown architectures. The number of nodes per
ring affects in how many rings around the scheduler the nodes are shown. The
architecture filter is a regular expression which is applied to the architecture
names of the nodes. Only the nodes are shown for which the regular expression
matches. If the expression is an empty string all nodes are shown.
</para>

</sect1>

<sect1 id="summaryview">
<title>Summary View</title>

<para>The summary view shows a list with a summary for each node. The summary
contains the number of jobs the node has processed while the view has been
shown, an indicator for each possible job the node can accept and a list of
files currently processed by the node. The indicator is black if the node is
idle and has the color of the node issuing the compile job when the node is
active. The filename and the state of the compile job is shown in the right box
of the summary.
</para>

</sect1>

<sect1 id="ganttview">
<title>Gantt View</title>

<para>The Gantt View shows a history of compile jobs for each node. Each node
has a bar for each compile job it can accept. The compile jobs are shown
scrolling on the bar from left to right. A grey bar means idle time. Compile
jobs are shown in the color of the node issuing the job and have a label
providing the name of the file which is compiled. Local jobs are shown on the
bar of the node running the job in a lighter version of the node color.
</para>

<para>
With the configuration dialog available under the "Configure" item of the
"Settings" menu you can chose if a time scale should be added to the top of the
gantt view or not. The time scale uses units of a second.
</para>

</sect1>

<sect1 id="hostview">
<title>Host View</title>

<para>The host view shows the icecream status of the node the monitor is
running on. The background of the view is painted in the color of the node and
its name is shown in the center. On top it contains two LED displays, the left
one shows the state of the jobs issued by the
node the monitor is running on. It is dark if the node is idle, red if the node
has issued one or more jobs to other nodes and orange if it is running a local
job. The right LED shows the compile status of the node. It is dark when the
node is idle and green when the node is running an icecream compile job.
</para>

<para>At the bottom of the view the current number of local, remote and compile
jobs on the node is shown.
</para>

</sect1>

<sect1 id="listview">
<title>List View</title>

<para>The list view shows a list of all compile jobs which were run since
activation of the view.
The list shows the identifier of the job, the name of the compiled
file, which node issued the job and which node compiled it. The state of the job
and some statistics about the job.</para>

</sect1>

</chapter>

<chapter id="credits">
<title>Credits and License</title>

<para>&icemon;</para>

<para>Program copyright 2004, The &icecream; Developers</para>

<para>&icecream; Authors:</para>

<itemizedlist>
<listitem><para>Michael Matz <email>matz@suse.de</email></para>
</listitem>
<listitem><para>Stephan Kulow <email>coolo@suse.de</email></para>
</listitem>
<listitem><para>Cornelius Schumacher <email>cschum@suse.de</email></para>
</listitem>
</itemizedlist>

<para>Based on the work of:</para>

<itemizedlist>
<listitem><para>The distcc developers</para>
</listitem>
<listitem><para>Frerich Raabe <email>raabe@kde.org</email></para>
</listitem>
</itemizedlist>

<para>Documentation copyright 2004</para>

<para>Author:

<itemizedlist>
<listitem><para>Cornelius Schumacher <email>cschum@suse.de</email></para>
</listitem>
</itemizedlist>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

<para>See the <ulink
url="http://old-en.opensuse.org/Icecream">&icecream;
homepage</ulink> for more details.</para>




&underFDL;
&underGPL;

</chapter>


&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

// vim:ts=2:sw=2:tw=78:noet
-->
