<?xml version="1.0" encoding="UTF-8"?>
<!--
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - JASMINe
  - Copyright (C) 2012 Bull S.A.S.
  - Contact: jasmine@ow2.org
  -
  - This library is free software; you can redistribute it and/or
  - modify it under the terms of the GNU Lesser General Public
  - License as published by the Free Software Foundation; either
  - version 2.1 of the License, or any later version.
  -
  - This library is distributed in the hope that it will be useful,
  - but WITHOUT ANY WARRANTY; without even the implied warranty of
  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  - Lesser General Public License for more details.
  -
  - You should have received a copy of the GNU Lesser General Public
  - License along with this library; if not, write to the Free Software
  - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  - USA
  -
  -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - $Id$
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-->
<sect1 version="5.0" xml:lang="en" xml:id="jasmineprobe.values" xmlns="http://docbook.org/ns/docbook"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:svg="http://www.w3.org/2000/svg"
  xmlns:mml="http://www.w3.org/1998/Math/MathML"
  xmlns:html="http://www.w3.org/1999/xhtml"
  xmlns:db="http://docbook.org/ns/docbook">

  <title>Indicator values</title>

<sect2>
  <title>Jmx indicator values</title>

      <para>
        A <emphasis>JasmineIndicatorValue</emphasis> instance corresponding to a <emphasis role="bold">jmx</emphasis> indicator is initialized with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = the name provided by the indicator's definition
            ;</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">target</emphasis> = the target name provided by the indicator's definition, except if the probe's definition specifies a target. In this latter case the probe's definition take precedence, and provides the target name.</para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">metadata</emphasis> is composed by the following properties:
            </para>
            <para>
              <itemizedlist>
                <listitem>
                  <para><emphasis role="bold">domain</emphasis> = the management domain name to which belongs the target jmx server,</para>
                </listitem>
                <listitem>
                  <para><emphasis role="bold">server</emphasis> = the target server name, when the monitored target in a Java EE Server like JOnAS, or a WEB Server like Jetty or Tomcat. Otherwise, the default value is "unknown",</para>
                </listitem>
                <listitem>
                  <para><emphasis role="bold">url</emphasis> = the jmx url from the target definition.</para>
                </listitem>
              </itemizedlist>
            </para>
          </listitem>
        </itemizedlist>
      </para>
      <para>
        A <emphasis>JasmineSingleResult</emphasis> instance is initialized with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = an attribute name if it has a simple type, an attribute fragment name otherwise,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">value</emphasis> = the attribute's value if its simple, or the fragment's value otherwise,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">timestamp</emphasis> = the measurement time,</para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">properties</emphasis> is composed by:
            </para>
            <para>
              <itemizedlist>
                <listitem>
                  <para><emphasis role="bold">mbean</emphasis> = the OBJECT_NAME corresponding to the MBean containing the read attribute.</para>
                </listitem>
              </itemizedlist>
            </para>
          </listitem>
        </itemizedlist>
      </para>
  <para>
  </para>
</sect2>

<sect2>
  <title>Df indicator values</title>

      <para>
        A <emphasis>JasmineIndicatorValue</emphasis> instance corresponding to a <emphasis role="bold">df</emphasis> indicator is initialised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = the name provided by the indicator's definition,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">target</emphasis> =  the host name,</para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">metadata</emphasis> is composed by the following properties:
            </para>
            <para>
              <itemizedlist>
                <listitem>
                  <para><emphasis role="bold">domain</emphasis> = the management domain name to which belongs the target jmx server,</para>
                </listitem>
                <listitem>
                  <para><emphasis role="bold">server</emphasis> = the target server name, when the monitored target in a Java EE Server like JOnAS, or a WEB Server like Jetty or Tomcat.
                  Otherwise, the default value is "unknown".</para>
                </listitem>
              </itemizedlist>
            </para>
          </listitem>
        </itemizedlist>
      </para>
      <para>
        A <emphasis>JasmineSingleResult</emphasis> instance is initilaised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = a device name,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">value</emphasis> = free space on that device in percentage,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">timestamp</emphasis> = the measurement time,</para>
          </listitem>
          <listitem>
            <para>
              <emphasis role="bold">properties</emphasis> not used.
            </para>
          </listitem>
        </itemizedlist>
      </para>
  <para>
  </para>
</sect2>

<!--
<sect2>
  <title>Lewis indicator values</title>
  <para>
  </para>
</sect2>
 -->

<sect2>
  <title>Aggregate and merge indicator values</title>

      <para>
        A <emphasis>JasmineIndicatorValue</emphasis> instance corresponding to a <emphasis role="bold">aggregate</emphasis> or <emphasis role="bold">merge</emphasis> indicator is initialised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = the name provided by the indicator's definition,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">target</emphasis> =  the <emphasis role="bold">target</emphasis> in the source <emphasis>JasmineIndicatorValue,</emphasis></para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">metadata</emphasis> is composed by the same elements that compose the <emphasis role="bold">metadata</emphasis> in the source <emphasis>JasmineIndicatorValue</emphasis>.
            </para>
          </listitem>
        </itemizedlist>
      </para>
      <para>
        A <emphasis>JasmineSingleResult</emphasis> instance is initilaised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = empty String,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">value</emphasis> =  the values obtained by the aggregation of the values corresponding to the source indicator's results,</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">timestamp</emphasis> = the biggest <emphasis role="bold">timestamp</emphasis> from the source indicator's results,</para>
          </listitem>
          <listitem>
            <para>
              <emphasis role="bold">properties</emphasis> contains all the elements composing the <emphasis role="bold">properties</emphasis> from all the source <emphasis>JasmineSingleResult</emphasis>s.
            </para>
          </listitem>
        </itemizedlist>
      </para>
</sect2>

<sect2>
  <title>Correlate indicator values</title>

      <para>
        The value of a <emphasis role="bold">correlate</emphasis> indicator is composed of one result. Its value is obtained by applying the correlate operation to the source result values.
      </para>
      <para>
        A <emphasis>JasmineIndicatorValue</emphasis> instance corresponding to a <emphasis role="bold">correlate</emphasis> indicator is initialised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = the name provided by the indicator's definition</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">target</emphasis> =
            <itemizedlist>
              <listitem><para>if all the source indicators have the same target, use the <emphasis role="bold">target</emphasis> in any of source <emphasis>JasmineIndicatorValue</emphasis>s.</para></listitem>
              <listitem><para><emphasis role="bold">misc</emphasis> otherwise</para></listitem>
            </itemizedlist>
            </para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">metadata</emphasis>: look for "domain" and "server" keys in the source<emphasis>JasmineIndicatorValue</emphasis>s.
              If all the values found for "domain" are are the same, a "domain" element having the found value is inserted in <emphasis role="bold">metadata</emphasis>.
              Otherwise, a "domain" element having <emphasis role="bold">misc</emphasis> value is inserted.
              A similar treatment is done for the "server" metadata.
            </para>
          </listitem>
        </itemizedlist>
      </para>
      <para>
        A <emphasis>JasmineSingleResult</emphasis> instance is initilaised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = empty String</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">value</emphasis> =  the values obtained by applying the correlate operation over the values from each source's <emphasis>JasmineSingleResult</emphasis> unique element.</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">timestamp</emphasis> = the biggest <emphasis role="bold">timestamp</emphasis> from the source indicators' results </para>
          </listitem>
          <listitem>
            <para>
              <emphasis role="bold">properties</emphasis>: look for "mbean" property name in the source<emphasis>JasmineSingleResult</emphasis>s.
              If all the found values are the same, a "mbean" element having the found value is inserted in <emphasis role="bold">properties</emphasis>.
              Otherwise, a "mbean" element having <emphasis role="bold">misc</emphasis> value is inserted.
            </para>
          </listitem>
        </itemizedlist>
      </para>
</sect2>

<sect2>
  <title>Derived indicator values</title>

      <para>
        The value of an <emphasis role="bold">derived</emphasis> indicator is composed of as many results as the source indicator's value.
        Each result in the derived indicator value is obtained by applying the derived operation on one result in the source indicator value.
      </para>
      <para>
        A <emphasis>JasmineIndicatorValue</emphasis> instance corresponding to a <emphasis role="bold">derived</emphasis> indicator is initialised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = the name provided by the indicator's definition</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">target</emphasis> =  the <emphasis role="bold">target</emphasis> in the source <emphasis>JasmineIndicatorValue</emphasis></para>
          </listitem>
          <listitem>
            <para>
              the <emphasis role="bold">metadata</emphasis> is composed by the same elements that compose the <emphasis role="bold">metadata</emphasis> in the source <emphasis>JasmineIndicatorValue</emphasis>
            </para>
          </listitem>
        </itemizedlist>
      </para>
      <para>
        A <emphasis>JasmineSingleResult</emphasis> instance is initialised with the following values:
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">name</emphasis> = empty String</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">value</emphasis> =  the values obtained by transforming the source indicator's result using the specified operation</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">timestamp</emphasis> = the <emphasis role="bold">timestamp</emphasis> from the source <emphasis>JasmineSingleResult</emphasis></para>
          </listitem>
          <listitem>
            <para>
              <emphasis role="bold">properties</emphasis> containes all the elements composing the <emphasis role="bold">properties</emphasis> from all the source <emphasis>JasmineSingleResult</emphasis>s
            </para>
          </listitem>
        </itemizedlist>
      </para>
  <para>
  </para>
</sect2>

<sect2>
  <title>Slope indicator values</title>

    <para>
      The result value is obtained as follows: delta(vnumerator) / delta(vdenominator), where vnumerator is the value of the numerator's result and vdenominator is the value of the denumerator's result.
    </para>
  <para>
  </para>
</sect2>

</sect1>
