There are two classes in the ML interface:

1) The Sensor-Class to push monitoring information to a ML web service:

    The MonaLisa ApMon library for C++ can be downloaded at
    http://monalisa.cacr.caltech.edu/monalisa__Download__ApMon.html,
    current version:
     http://monalisa.cacr.caltech.edu/download/apmon/ApMon_c-2.0.6.tar.gz

    To build the library you need to do the usual things:
       ./configure --prefix=<your installation dir>
      make
      make install

2) The Consumer-Class to read monitoring information from a ML web service:

    The MonaLisa web service client library for C++ can be downloaded at
    http://monalisa.cacr.caltech.edu/monalisa__Download__wsclient.html,
    current version:
    http://monalisa.cacr.caltech.edu/download/monalisa/ \
           ml-gsoapclient-1.0.0.tar.gz

      To build the library you need the gsoap stub compiler.
    You can find that f.e. under:
       http://gsoap2.sourceforge.net/
    gSoap 2.7.7 stable can be found under:
       http://sourceforge.net/project/showfiles.php?group_id=52781&package_id=68161&release_id=408448

    Do the usual things to compile the ml-gsoapclient:
    ( hint: soapcpp2 should be in your path)

      ./configure --prefix=<your installation dir>
      make
      make install


To build the ROOT MonaLisa interface, you need to configure:

   ./configure --enable-monalisa

The ML client libraries need to be installed under /usr/local/ /opt/monalisa or /opt/alien/api to be autodetected.
If you install them into another directory, you have give specify the include and library location during the ROOT configuration like:

   ./configure -with-monalisa-incdir=<mlincludedir> --with-monalisa-libdir=<mllibdir>


Howto send Processing and File Read performance to a ML service:
=================================================================

The easiest is to set an environment variable like f.e. presently the site CERN in the ALICE group is used by:

   export APMON_CONFIG=lxgate06.cern.ch

If you run on your local machine, you can invent an ID how to find the monitoring information for your processing:

   ROOT> new TMonaLisaWriter("testjob-0001","rdm");

Every file you read will be monitored now automatically to the ML webservice specified by env<APMON_CONFIG>
If you run a Selector on a Chain, you will get also information about the number of events processed, the data read for these events, the cpu time,
the real time, the start and stop time of your Selector.

You can use the ML client to browse the monitoring information.
The information will appear in this case under farm CERN in the submenu "testjob-0001" under Cluster ROOT_rdm.

With a certain delay new clusters are generated by a MonaLisa filter:

   ROOT_rdm_destToHost_Summary
   ROOT_rdm_dests_Summary
   ROOT_rdm_hosts_Summary

Here you see aggregated information for each processing host or for each file serving host or in case of file read performance a performance matrix between the file reading machines and the file servers used. This is particulary interesting, if you are not running with one process on your laptop, but on a cluster with batch jobs or PROOF queries.



