avalon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From l...@apache.org
Subject cvs commit: jakarta-avalon-excalibur/instrument/example/src/java/org/apache/excalibur/instrument/example DefaultExampleInstrumentable.java ExampleInstrumentable.java Main.java
Date Sat, 03 Aug 2002 14:59:39 GMT
leif        2002/08/03 07:59:39

  Added:       instrument/example/client .cvsignore ant.properties.sample
                        build.xml default.properties
               instrument/example/client/bin client.bat client.sh
                        cpappend.bat
               instrument/example/client/conf default.desktop
               instrument/example/managerICM .cvsignore
                        ant.properties.sample build.xml default.properties
               instrument/example/managerICM/bin cpappend.bat run.bat
                        run.sh
               instrument/example/managerICM/conf components.xml
                        instrument.xml logkit.xml roles.xml
               instrument/example/managerICM/data instrument.sampledata
               instrument/example/managerICM/src/java/org/apache/excalibur/instrument/example_icm
                        DefaultExampleInstrumentable.java
                        ExampleInstrumentable.java Main.java
  Removed:     instrument/example .cvsignore ant.properties.sample
                        build.xml default.properties
               instrument/example/bin cpappend.bat run.bat run.sh
               instrument/example/conf components.xml instrument.xml
                        logkit.xml roles.xml
               instrument/example/src/java/org/apache/excalibur/instrument/example
                        DefaultExampleInstrumentable.java
                        ExampleInstrumentable.java Main.java
  Log:
  Get the examples working after the merger of the instrument projects
  
  Revision  Changes    Path
  1.1                  jakarta-avalon-excalibur/instrument/example/client/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  ant.properties
  lib
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/ant.properties.sample
  
  Index: ant.properties.sample
  ===================================================================
  # -----------------------------------------------------------------------------
  # Component ant.properties.sample
  #
  # This is an example "ant.properties" file, used to customize the building of
  # the component for your local environment.  It defines the location of all
  # external modules that this component depend on.  Copy this file to
  # "ant.properties" in the source directory, and customize it as needed.
  #
  # The ant.properties values in this directory apply only to this component, and
  # override the defaults in ../ant.properties.
  #
  # $Id: ant.properties.sample,v 1.1 2002/08/03 14:59:38 leif Exp $
  # -----------------------------------------------------------------------------
  
  # --------------------------------------------------
  #      COMPONENT-SPECIFIC REQUIRED LIBRARIES
  # --------------------------------------------------
  
  
  # ----- Compile Control Flags -----
  build.debug=on
  build.optimize=off
  build.deprecation=off
  
  # ----- Base Directory in which all the packages are stored -----
  base.path=/opt
  
  # --------------------------------------------------
  #                REQUIRED LIBRARIES
  # --------------------------------------------------
  
  # ----- Xerces -----
  xerces.home=../../../jakarta-avalon/tools/lib/
  xerces.jar=${xerces.home}/xerces-1.4.4.jar
  
  # ----- XML-APIs -----
  xml-apis.home=../../../jakarta-avalon/tools/lib/
  xml-apis.jar=${xml-apis.home}/xml-apis.jar
  
  # ----- Xalan -----
  xalan.home=../../../jakarta-avalon/tools/lib/
  xalan.jar=${xalan.home}/xalan-2.2.0-D13.jar
  
  # ----- Avalon Framework -----
  avalon-framework.home=../../../jakarta-avalon/build/lib
  avalon-framework.jar=${avalon-framework.home}/avalon-framework.jar
  
  # ----- Excalibur Instrument Manager -----
  excalibur-instrument-manager.home=../../instrument-manager/build/lib
  excalibur-instrument-manager-interfaces.jar=${excalibur-instrument-manager.home}/excalibur-instrument-manager-interfaces-0.1.jar
  
  # ----- Altrmi -----
  excalibur-altrmi.home=../../altrmi/build/lib
  excalibur-altrmi-client-impl.jar=${excalibur-altrmi.home}/excalibur-altrmi-client-impl.jar
  excalibur-altrmi-client-interfaces.jar=${excalibur-altrmi.home}/excalibur-altrmi-client-interfaces.jar
  excalibur-altrmi-common.jar=${excalibur-altrmi.home}/excalibur-altrmi-common.jar
  excalibur-altrmi-generator.jar=${excalibur-altrmi.home}/excalibur-altrmi-generator.jar
  
  # ----- JUnit Unit Test Suite, version 3.7 or later -----
  junit.home=${base.path}/junit3.7
  junit.lib=${junit.home}
  junit.jar=${junit.lib}/junit.jar
  
  
  
  # --------------------------------------------------
  #                OPTIONAL LIBRARIES
  # --------------------------------------------------
  
  # ----- Checkstyle, version 2.1 or later -----
  
  # Uncomment the 'do.checkstyle' flag property to enable checkstyle
  # do.checkstyle=
  checkstyle.home=${base.path}/checkstyle-2.1
  checkstyle.lib=${checkstyle.home}
  checkstyle.jar=${checkstyle.lib}/checkstyle-all-2.1.jar
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ======================================================================= -->
  <!-- Container Example build file!                                           -->
  <!-- ======================================================================= -->
  
  <project name="instrument-example-client" default="main" basedir=".">
  
      <!--
        Give user a chance to override without editing this file
        (and without typing -D each time he compiles it)
      -->
      <property file="ant.properties"/>
      <property file="${user.home}/.ant.properties"/>
      <property file="${basedir}/default.properties"/>
      
      <!-- Directories build by ant -->
      <property name="lib.dir"               value="${basedir}/lib"/>
  
      <!-- =================================================================== -->
      <!-- Help on usage                                                       -->
      <!-- =================================================================== -->
      <target name="usage">
          <echo message="Use the -projecthelp option instead"/>
      </target>
      <target name="help" depends="usage"/>
  
      <!-- =================================================================== -->
      <!-- Help on usage                                                       -->
      <!-- =================================================================== -->
      <target name="collect-jars">
          <!-- Xerces -->
          <copy file="${xerces.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
          
          <!-- XML-APIs -->
          <copy file="${xml-apis.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
          
          <!-- Xalan -->
          <copy file="${xalan.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
          
          <!-- Avalong Framework Jar -->
          <copy file="${avalon-framework.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          
          <!-- Instrument Jars -->
          <copy file="${excalibur-instrument-manager-interfaces.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-instrument-client.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          
          <!-- Altrmi Jars -->
          <copy file="${excalibur-altrmi-client-impl.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-altrmi-client-interfaces.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-altrmi-common.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
      </target>
      
      <!-- =================================================================== -->
      <!-- Main target                                                         -->
      <!-- =================================================================== -->
      <target name="main" depends="collect-jars" description="build the runnable application">
      </target>
  
      <!-- =================================================================== -->
      <!-- Creates the javadocs archive.                                       -->
      <!-- =================================================================== -->
      <target name="javadocs" description="Generates javadoc documentation">
      </target>
  
      <!-- =================================================================== -->
      <!-- Cleans up compiled classes and generated XMLC source.               -->
      <!-- =================================================================== -->
      <target name="clean" description="cleans up the directory">
          <delete dir="${lib.dir}"/>
      </target>
  </project>
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/default.properties
  
  Index: default.properties
  ===================================================================
  # -------------------------------------------------------------------
  # B U I L D  P R O P E R T I E S
  # -------------------------------------------------------------------
  # Specifies default property values
  # Overridden by ../default.properties and all ant.properties
  # Not user-editable; use ant.properties files instead
  
  # --------------------------------------------------
  #                REQUIRED LIBRARIES
  # --------------------------------------------------
  
  excalibur.dir=${basedir}/../../..
  avalon-framework.home=${excalibur.dir}/../jakarta-avalon
  
  # ----- Xerces -----
  xerces.jar=${tools.dir}/lib/xerces-2.0.1.jar
  
  # ----- XML-APIs -----
  xml-apis.jar=${tools.dir}/lib/xml-apis.jar
  
  # ----- Xalan -----
  xalan.jar=${tools.dir}/lib/xalan-2.3.1.jar
  
  # ----- Avalon Framework -----
  avalon-framework.lib=${avalon-framework.home}/build/lib
  avalon-framework.jar=${avalon-framework.lib}/avalon-framework.jar
  
  # ----- Excalibur Instrument -----
  excalibur-instrument.home=${excalibur.dir}/instrument/dist
  excalibur-instrument-manager-interfaces.jar=${excalibur-instrument.home}/excalibur-instrument-manager-interfaces-0.3.jar
  excalibur-instrument-client.jar=${excalibur-instrument.home}/excalibur-instrument-client-0.3.jar
  
  # ----- Altrmi -----
  excalibur-altrmi.home=${excalibur.dir}/altrmi/dist
  excalibur-altrmi-client-impl.jar=${excalibur-altrmi.home}/excalibur-altrmi-client-impl.jar
  excalibur-altrmi-client-interfaces.jar=${excalibur-altrmi.home}/excalibur-altrmi-client-interfaces.jar
  excalibur-altrmi-common.jar=${excalibur-altrmi.home}/excalibur-altrmi-common.jar
  excalibur-altrmi-generator.jar=${excalibur-altrmi.home}/excalibur-altrmi-generator.jar
  
  # --------------------------------------------------
  #                OPTIONAL LIBRARIES
  # --------------------------------------------------
  
  # --------------------------------------------------
  
  
  #  Settings used to configure compile environment
  build.debug = on
  build.optimize = off
  build.deprecation = off
  build.compress = false
  junit.failonerror = false
  
  #  location of intermediate products
  build.dir = ${basedir}/build
  build.testsrc = ${build.dir}/testsrc
  build.testclasses = ${build.dir}/testclasses
  build.lib = ${build.dir}/lib
  build.conf = ${build.dir}/conf
  build.classes = ${build.dir}/classes
  build.client.classes = ${build.dir}/clientclasses
  build.manager.classes = ${build.dir}/managerclasses
  build.tests = ${build.dir}/tests
  build.reports = ${build.dir}/reports
  build.genjava="${build.dir}/genjava
  
  #  Set the properties for source directories
  src.dir = ${basedir}/src
  java.dir = ${src.dir}/java
  conf.dir = ${src.dir}/conf
  test.dir = ${src.dir}/test
  manager.dir = ${src.dir}/manager
  client.dir = ${src.dir}/client
  
  #  needed by Cocoon
  build.context = ${build.dir}/documentation
  build.docs = ${build.dir}/docs
  build.xdocs = ${build.dir}/xdocs
  context.dir = ${avalon-framework.home}/src/documentation
  tools.dir = ${avalon-framework.home}/tools
  tools.jar = ${java.home}/../lib/tools.jar
  docs.dir = docs
  xdocs.dir = ${src.dir}/xdocs
  
  #  Set the properties for distribution directories
  dist.dir = ${basedir}/dist
  dist.javadocs = ${dist.dir}/docs/api
  
  #  name of .zip/.tar.gz/.bz2 files and their top-level directory
  dist.name = ${name}-${version}
  
  #  name of jar file
  jar.name = ${name}-${version}.jar
  client.jar.name = ${client.name}-${version}.jar
  manager.jar.name = ${manager.name}-${version}.jar
  
  #  property indicating directory where all distribution archives are placed
  dist.base = distributions
  
  depchecker.prefix=../../../
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/bin/client.bat
  
  Index: client.bat
  ===================================================================
  @echo off
  rem
  rem Example start script.
  rem
  rem Author: Leif Mortenson [leif@tanukisoftware.com]
  
  rem
  rem Determine if JAVA_HOME is set and if so then use it
  rem
  if not "%JAVA_HOME%"=="" goto found_java
  
  set EXAMPLE_JAVACMD=java
  goto file_locate
  
  :found_java
  set EXAMPLE_JAVACMD=%JAVA_HOME%\bin\java
  
  :file_locate
  
  rem
  rem Locate where the example is in filesystem
  rem
  if not "%OS%"=="Windows_NT" goto start
  
  rem %~dp0 is name of current script under NT
  set EXAMPLE_HOME=%~dp0
  
  rem : operator works similar to make : operator
  set EXAMPLE_HOME=%EXAMPLE_HOME:\bin\=%
  
  :start
  
  if not "%EXAMPLE_HOME%" == "" goto example_home
  
  echo.
  echo Warning: EXAMPLE_HOME environment variable is not set.
  echo   This needs to be set for Win9x as it's command prompt 
  echo   scripting bites
  echo.
  goto end
  
  :example_home
  rem
  rem build the runtime classpath
  rem
  set CP=
  
  
  set _LIBJARS=
  for %%i in (%EXAMPLE_HOME%\lib\*.jar) do call %EXAMPLE_HOME%\bin\cpappend.bat %%i
  if not "%_LIBJARS%" == "" goto run
  
  echo Unable to set CLASSPATH dynamically.
  goto end
  
  :run
  set CP=%CP%%_LIBJARS%
  
  rem Run the example application
  %EXAMPLE_JAVACMD% -Djava.compiler="NONE" -classpath "%CP%" org.apache.excalibur.instrument.client.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
  
  :end
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/bin/client.sh
  
  Index: client.sh
  ===================================================================
  #!/bin/bash 
  #
  # Startup script.
  #
  
  #
  # Determine if JAVA_HOME is set and if so then use it
  #
  if [ -z "$JAVA_HOME" ] ;  then
    JAVA=`which java`
    if [ -z "$JAVA" ] ; then
      echo "Cannot find JAVA. Please set your PATH."
      exit 1
    fi
    JAVA_BINDIR=`dirname $JAVA`
    JAVA_HOME=$JAVA_BINDIR/..
  fi
  
  if [ "$JAVACMD" = "" ] ; then
     # it may be defined in env - including flags!!
     JAVACMD=$JAVA_HOME/bin/java
  fi
  
  EXAMPLE_HOME=..
  
  #
  # Build the runtime classpath
  #
  for i in ${EXAMPLE_HOME}/lib/*.jar ; do
      CP=${CP}:$i
  done
  
  #echo $CP
  
  # Run the example application
  $JAVACMD -classpath $CP org.apache.excalibur.instrument.client.Main $@
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/bin/cpappend.bat
  
  Index: cpappend.bat
  ===================================================================
  set _LIBJARS=%_LIBJARS%;%1
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/client/conf/default.desktop
  
  Index: default.desktop
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <instrument-client-state>
  <frame divider-location="285" y="6" x="73" height="636" width="935" last-divider-location="286"/>
  <connection host="localhost" port="16000">
  <maintained-sample description="Each Second" type="maximum" lease-duration="600000" interval="1000" size="600" instrument-name="component-manager.plant-service.references"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="component-manager.plant-service.gets"/>
  <maintained-sample description="Each Second" type="maximum" lease-duration="600000" interval="1000" size="600" instrument-name="datasources.kurita.references"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="query-pools.kurita-query.pool.puts"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="datasources.kurita.gets"/>
  <maintained-sample description="Each Second" type="maximum" lease-duration="600000" interval="1000" size="600" instrument-name="query-pools.kurita-query.pool.size"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="query-pools.kurita-query.pool.creates"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="query-pools.kurita-query.pool.blocks"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="kurita.pool.gets"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="component-manager.plant-service.puts"/>
  <maintained-sample description="Min Each Second" type="minimum" lease-duration="600000" interval="1000" size="600" instrument-name="trend-summary-service.snapshot_query_time"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="plant-service.loads"/>
  <maintained-sample description="Menu Generated: maximum.1000.600" type="maximum" lease-duration="600000" interval="1000" size="600" instrument-name="trend-summary-service.snapshot_query_time"/>
  <maintained-sample description="Mean Each Second" type="mean" lease-duration="600000" interval="1000" size="600" instrument-name="trend-summary-service.snapshot_query_time"/>
  <maintained-sample description="Each Second" type="counter" lease-duration="600000" interval="1000" size="600" instrument-name="query-pools.kurita-query.pool.gets"/>
  <maintained-sample description="Each Second" type="maximum" lease-duration="600000" interval="1000" size="600" instrument-name="kurita.pool.size"/>
  </connection>
  <inner-frame sample="trend-summary-service.snapshot_query_time.minimum.1000.600" type="sample-frame" y="238" host="localhost" x="24" height="120" width="600" port="16000"/>
  <inner-frame sample="trend-summary-service.snapshot_query_time.mean.1000.600" type="sample-frame" y="118" host="localhost" x="24" height="120" width="600" port="16000"/>
  <inner-frame sample="trend-summary-service.snapshot_query_time.maximum.1000.600" type="sample-frame" y="-2" host="localhost" x="24" height="120" width="600" port="16000"/>
  <inner-frame sample="plant-service.loads.counter.1000.600" type="sample-frame" y="0" host="localhost" x="0" height="120" width="600" port="16000"/>
  <inner-frame sample="datasources.kurita.gets.counter.1000.600" type="sample-frame" y="111" host="localhost" x="2" height="120" width="600" port="16000"/>
  <inner-frame sample="datasources.kurita.references.maximum.1000.600" type="sample-frame" y="222" host="localhost" x="3" height="120" width="600" port="16000"/>
  <inner-frame sample="kurita.pool.gets.counter.1000.600" type="sample-frame" y="333" host="localhost" x="2" height="120" width="600" port="16000"/>
  <inner-frame sample="kurita.pool.size.maximum.1000.600" type="sample-frame" y="446" host="localhost" x="2" height="120" width="600" port="16000"/>
  </instrument-client-state>
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  build
  lib
  ant.properties
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/ant.properties.sample
  
  Index: ant.properties.sample
  ===================================================================
  # -----------------------------------------------------------------------------
  # Component ant.properties.sample
  #
  # This is an example "ant.properties" file, used to customize the building of
  # the component for your local environment.  It defines the location of all
  # external modules that this component depend on.  Copy this file to
  # "ant.properties" in the source directory, and customize it as needed.
  #
  # The ant.properties values in this directory apply only to this component, and
  # override the defaults in ../ant.properties.
  #
  # $Id: ant.properties.sample,v 1.1 2002/08/03 14:59:39 leif Exp $
  # -----------------------------------------------------------------------------
  
  # --------------------------------------------------
  #      COMPONENT-SPECIFIC REQUIRED LIBRARIES
  # --------------------------------------------------
  
  
  # ----- Compile Control Flags -----
  build.debug=on
  build.optimize=off
  build.deprecation=off
  
  # ----- Base Directory in which all the packages are stored -----
  base.path=/opt
  
  # --------------------------------------------------
  #                REQUIRED LIBRARIES
  # --------------------------------------------------
  
  # ----- Xerces -----
  xerces.home=../../../../jakarta-avalon/tools/lib/
  xerces.jar=${xerces.home}/xerces-2.0.1.jar
  
  # ----- XML-APIs -----
  xml-apis.home=../../../../jakarta-avalon/tools/lib/
  xml-apis.jar=${xml-apis.home}/xml-apis.jar
  
  # ----- Xalan -----
  xalan.home=../../../../jakarta-avalon/tools/lib/
  xalan.jar=${xalan.home}/xalan-2.3.1.jar
  
  # ----- Logkit -----
  logkit.home=../../../../jakarta-avalon-logkit/build/lib
  logkit.jar=${logkit.home}/logkit.jar
  
  # ----- Avalon Framework -----
  avalon-framework.home=../../../../jakarta-avalon/build/lib
  avalon-framework.jar=${avalon-framework.home}/avalon-framework.jar
  
  # ----- Excalibur Concurrent -----
  excalibur-concurrent.home=../../../concurrent/build/lib
  excalibur-concurrent.jar=${excalibur-concurrent.home}/excalibur-concurrent-1.0.jar
  
  # ----- Excalibur Collections -----
  excalibur-collections.home=../../../collections/build/lib
  excalibur-collections.jar=${excalibur-collections.home}/excalibur-collections-1.0.jar
  
  # ----- Excalibur Component -----
  excalibur-component.home=../../../component/build/lib
  excalibur-component.jar=${excalibur-component.home}/excalibur-component-1.0.jar
  
  # ----- Excalibur Logger -----
  excalibur-logger.home=../../../logger/build/lib
  excalibur-logger.jar=${excalibur-logger.home}/excalibur-logger-1.0.jar
  
  # ----- Excalibur Pool -----
  excalibur-pool.home=../../../pool/build/lib
  excalibur-pool.jar=${excalibur-pool.home}/excalibur-pool-1.0.jar
  
  # ----- Excalibur Instrument -----
  excalibur-instrument.home=../../../instrument/build/lib
  excalibur-instrument.jar=${excalibur-instrument.home}/excalibur-instrument-0.2.jar
  
  # ----- Altrmi -----
  excalibur-altrmi.home=../../../altrmi/build/lib
  excalibur-altrmi-common.jar=${excalibur-altrmi.home}/excalibur-altrmi-common.jar
  excalibur-altrmi-server-impl.jar=${excalibur-altrmi.home}/excalibur-altrmi-server-impl.jar
  excalibur-altrmi-server-interfaces.jar=${excalibur-altrmi.home}/excalibur-altrmi-server-interfaces.jar
  
  # ----- JUnit Unit Test Suite, version 3.7 or later -----
  junit.home=${base.path}/junit3.7
  junit.lib=${junit.home}
  junit.jar=${junit.lib}/junit.jar
  
  
  
  # --------------------------------------------------
  #                OPTIONAL LIBRARIES
  # --------------------------------------------------
  
  # ----- Checkstyle, version 2.1 or later -----
  
  # Uncomment the 'do.checkstyle' flag property to enable checkstyle
  # do.checkstyle=
  checkstyle.home=${base.path}/checkstyle-2.1
  checkstyle.lib=${checkstyle.home}
  checkstyle.jar=${checkstyle.lib}/checkstyle-all-2.1.jar
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- ======================================================================= -->
  <!-- Container Example build file!                                           -->
  <!-- ======================================================================= -->
  
  <project name="instrument-example-ecm" default="main" basedir=".">
  
      <!--property name="avalon-framework.home" value="${basedir}/../../../../jakarta-avalon"/-->
      <!--
        Give user a chance to override without editing this file
        (and without typing -D each time he compiles it)
      -->
      <property file="ant.properties"/>
      <property file="${user.home}/.ant.properties"/>
      <property file="default.properties"/>
  
      <!-- Directories build by ant -->
      <property name="build.dir"             value="${basedir}/build"/>
      <property name="build.classes.dir"     value="${build.dir}/classes"/>
      <property name="build.javadocs.dir"    value="${build.dir}/javadocs"/>
      <property name="lib.dir"               value="${basedir}/lib"/>
      <property name="data.dir"              value="${basedir}/data"/>
  
      <!-- Existing directories -->
      <property name="src.dir"               value="${basedir}/src"/>
      <property name="src.java.dir"          value="${src.dir}/java"/>
  
      <!-- Define paths used by this project -->
      <path id="project.class.path">
          <fileset dir="${lib.dir}">
              <include name="**/*.jar"/>
              <exclude name="instrument-manager-example-ecm.jar"/>
          </fileset>
          <pathelement path="${build.classes.dir}" />
      </path>
  
      <!-- =================================================================== -->
      <!-- Help on usage                                                       -->
      <!-- =================================================================== -->
      <target name="usage">
          <echo message="Use the -projecthelp option instead"/>
      </target>
      <target name="help" depends="usage"/>
  
      <!-- =================================================================== -->
      <!-- Dependency Checker                                                  -->
      <!-- =================================================================== -->
      <target name="dependencies" description="Check dependencies" unless="skip.dependencies">
          <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkCommon"/>
          <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkFramework"/>
          <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkComponent"/>
          <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkAltrmiServer"/>
          <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkAltrmiCommon"/>
      </target>
      
      <!-- =================================================================== -->
      <!-- Help on usage                                                       -->
      <!-- =================================================================== -->
      <target name="collect-jars">
          <!-- Xerces -->
          <copy file="${xerces.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- XML-APIs -->
          <copy file="${xml-apis.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Xalan -->
          <copy file="${xalan.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Logkit -->
          <copy file="${logkit.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Framework -->
          <copy file="${avalon-framework.jar}" todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Concurrent -->
          <copy file="${excalibur-concurrent.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Collections -->
          <copy file="${excalibur-collections.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Component -->
          <copy file="${excalibur-component.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Logger -->
          <copy file="${excalibur-logger.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Pool -->
          <copy file="${excalibur-pool.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Avalon Excalibur Instrument -->
          <copy file="${excalibur-instrument.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-instrument-manager.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
  
          <!-- Altrmi Jars -->
          <copy file="${excalibur-altrmi-common.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-altrmi-server-impl.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
          <copy file="${excalibur-altrmi-server-interfaces.jar}"
              todir="${lib.dir}" preservelastmodified="yes"/>
      </target>
  
      <!-- =================================================================== -->
      <!-- Initialize custom tasks                                             -->
      <!-- =================================================================== -->
      <target name="init" depends="collect-jars">
          <mkdir dir="${data.dir}"/>
      </target>
  
      <!-- =================================================================== -->
      <!-- Compiles the source code                                            -->
      <!-- =================================================================== -->
      <target name="compile" depends="init">
          <mkdir dir="${build.dir}"/>
          <mkdir dir="${build.classes.dir}"/>
  
          <!-- compile everything under src/java -->
          <javac srcdir="${src.java.dir}" destdir="${build.classes.dir}"
              deprecation="on"
              debug="on"
              optimize="off">
              <classpath refid="project.class.path" />
          </javac>
  
          <!-- copy image files to build directory -->
          <copy todir="${build.classes.dir}" >
              <fileset dir="${src.java.dir}" >
                  <include name="**/*.jpg" />
                  <include name="**/*.gif" />
              </fileset>
          </copy>
      </target>
  
      <!-- =================================================================== -->
      <!-- Creates the jar archive                                             -->
      <!-- =================================================================== -->
      <target name="jar" depends="compile" description="Builds the jar archive.">
          <mkdir dir="${lib.dir}"/>
  
          <jar jarfile="${lib.dir}/instrument-manager-example.jar"
              basedir="${build.classes.dir}"
              includes="**/*.class,**/*.properties,**/*.xml,**/*.jpg,**/*.gif,**/*.roles"
              />
      </target>
  
      <!-- =================================================================== -->
      <!-- Main target                                                         -->
      <!-- =================================================================== -->
      <target name="main" depends="jar" description="build the runnable application">
      </target>
  
      <!-- =================================================================== -->
      <!-- Creates the javadocs archive.                                       -->
      <!-- =================================================================== -->
      <target name="javadocs" description="Generates javadoc documentation">
          <mkdir dir="${build.javadocs.dir}"/>
  
          <javadoc packagenames="org.apache.*"
              sourcepath="${src.java.dir}"
              destdir="${build.javadocs.dir}">
              <classpath refid="project.class.path" />
              <doclet name="com.sun.tools.doclets.standard.Standard">
                  <param name="-author"/>
                  <param name="-version"/>
                  <param name="-doctitle" value="${Name}"/>
                  <param name="-windowtitle" value="${Name} API"/>
                  <param name="-bottom"
                      value="&quot;Copyright &#169; 2001 Apache Jakarta Project. All Rights Reserved.&quot;"/>
              </doclet>
          </javadoc>
      </target>
  
      <!-- =================================================================== -->
      <!-- Builds everything.                                                  -->
      <!-- =================================================================== -->
      <target name="all" depends="main, javadocs" description="Build everything"/>
  
      <!-- =================================================================== -->
      <!-- Cleans up compiled classes and generated XMLC source.               -->
      <!-- =================================================================== -->
      <target name="clean" description="cleans up the directory">
          <delete dir="${build.dir}"/>
          <delete dir="${lib.dir}"/>
      </target>
  </project>
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/default.properties
  
  Index: default.properties
  ===================================================================
  # -------------------------------------------------------------------
  # B U I L D  P R O P E R T I E S
  # -------------------------------------------------------------------
  # Specifies default property values
  # Overridden by ../default.properties and all ant.properties
  # Not user-editable; use ant.properties files instead
  
  # --------------------------------------------------
  #                REQUIRED LIBRARIES
  # --------------------------------------------------
  
  excalibur.dir=${basedir}/../../..
  avalon-framework.home=${excalibur.dir}/../jakarta-avalon
  
  # ----- Xerces -----
  xerces.jar=${tools.dir}/lib/xerces-2.0.1.jar
  
  # ----- XML Apis -----
  xml-apis.jar=${tools.dir}/lib/xml-apis.jar
  
  # ----- Xalan -----
  xalan.jar=${tools.dir}/lib/xalan-2.3.1.jar
  
  # ----- Logkit -----
  logkit.home=${excalibur.dir}/../jakarta-avalon-logkit
  logkit.lib=${logkit.home}/build/lib
  logkit.jar=${logkit.lib}/logkit.jar
  
  # ----- Avalon Framework -----
  avalon-framework.lib=${avalon-framework.home}/build/lib
  avalon-framework.jar=${avalon-framework.lib}/avalon-framework.jar
  
  # ----- Excalibur Concurrent -----
  excalibur-concurrent.home=${excalibur.dir}/concurrent/dist
  excalibur-concurrent.jar=${excalibur-concurrent.home}/excalibur-concurrent-1.0.jar
  
  # ----- Excalibur Collections -----
  excalibur-collections.home=${excalibur.dir}/collections/dist
  excalibur-collections.jar=${excalibur-collections.home}/excalibur-collections-1.0.jar
  
  # ----- Excalibur Component -----
  excalibur-component.home=${excalibur.dir}/component/dist
  excalibur-component.jar=${excalibur-component.home}/excalibur-component-1.0.jar
  
  # ----- Excalibur Logger -----
  excalibur-logger.home=${excalibur.dir}/logger/dist
  excalibur-logger.jar=${excalibur-logger.home}/excalibur-logger-1.0.jar
  
  # ----- Excalibur Pool -----
  excalibur-pool.home=${excalibur.dir}/pool/dist
  excalibur-pool.jar=${excalibur-pool.home}/excalibur-pool-1.0.jar
  
  # ----- Excalibur Instrument -----
  excalibur-instrument.home=${excalibur.dir}/instrument/dist
  excalibur-instrument.jar=${excalibur-instrument.home}/excalibur-instrument-0.3.jar
  excalibur-instrument-manager.jar=${excalibur-instrument.home}/excalibur-instrument-manager-0.3.jar
  
  
  # ----- Altrmi -----
  excalibur-altrmi.home=${excalibur.dir}/altrmi/dist
  excalibur-altrmi-common.jar=${excalibur-altrmi.home}/excalibur-altrmi-common.jar
  excalibur-altrmi-server-impl.jar=${excalibur-altrmi.home}/excalibur-altrmi-server-impl.jar
  excalibur-altrmi-server-interfaces.jar=${excalibur-altrmi.home}/excalibur-altrmi-server-interfaces.jar
  
  
  # --------------------------------------------------
  #                OPTIONAL LIBRARIES
  # --------------------------------------------------
  
  
  # --------------------------------------------------
  
  
  #  Settings used to configure compile environment
  build.debug = on
  build.optimize = off
  build.deprecation = off
  build.compress = false
  junit.failonerror = false
  
  #  location of intermediate products
  build.dir = ${basedir}/build
  build.testsrc = ${build.dir}/testsrc
  build.testclasses = ${build.dir}/testclasses
  build.lib = ${build.dir}/lib
  build.conf = ${build.dir}/conf
  build.classes = ${build.dir}/classes
  build.client.classes = ${build.dir}/clientclasses
  build.manager.classes = ${build.dir}/managerclasses
  build.tests = ${build.dir}/tests
  build.reports = ${build.dir}/reports
  build.genjava="${build.dir}/genjava
  
  #  Set the properties for source directories
  src.dir = ${basedir}/src
  java.dir = ${src.dir}/java
  conf.dir = ${src.dir}/conf
  test.dir = ${src.dir}/test
  manager.dir = ${src.dir}/manager
  client.dir = ${src.dir}/client
  
  #  needed by Cocoon
  build.context = ${build.dir}/documentation
  build.docs = ${build.dir}/docs
  build.xdocs = ${build.dir}/xdocs
  context.dir = ${avalon-framework.home}/src/documentation
  tools.dir = ${avalon-framework.home}/tools
  tools.jar = ${java.home}/../lib/tools.jar
  docs.dir = docs
  xdocs.dir = ${src.dir}/xdocs
  
  #  Set the properties for distribution directories
  dist.dir = ${basedir}/dist
  dist.javadocs = ${dist.dir}/docs/api
  
  #  name of .zip/.tar.gz/.bz2 files and their top-level directory
  dist.name = ${name}-${version}
  
  #  name of jar file
  jar.name = ${name}-${version}.jar
  client.jar.name = ${client.name}-${version}.jar
  manager.jar.name = ${manager.name}-${version}.jar
  
  #  property indicating directory where all distribution archives are placed
  dist.base = distributions
  
  depchecker.prefix=../../../
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/bin/cpappend.bat
  
  Index: cpappend.bat
  ===================================================================
  set _LIBJARS=%_LIBJARS%;%1
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/bin/run.bat
  
  Index: run.bat
  ===================================================================
  @echo off
  rem
  rem Example start script.
  rem
  rem Author: Leif Mortenson [leif@tanukisoftware.com]
  
  rem
  rem Determine if JAVA_HOME is set and if so then use it
  rem
  if not "%JAVA_HOME%"=="" goto found_java
  
  set EXAMPLE_JAVACMD=java
  goto file_locate
  
  :found_java
  set EXAMPLE_JAVACMD=%JAVA_HOME%\bin\java
  
  :file_locate
  
  rem
  rem Locate where the example is in filesystem
  rem
  if not "%OS%"=="Windows_NT" goto start
  
  rem %~dp0 is name of current script under NT
  set EXAMPLE_HOME=%~dp0
  
  rem : operator works similar to make : operator
  set EXAMPLE_HOME=%EXAMPLE_HOME:\bin\=%
  
  :start
  
  if not "%EXAMPLE_HOME%" == "" goto example_home
  
  echo.
  echo Warning: EXAMPLE_HOME environment variable is not set.
  echo   This needs to be set for Win9x as it's command prompt 
  echo   scripting bites
  echo.
  goto end
  
  :example_home
  rem
  rem build the runtime classpath
  rem
  set CP=
  
  
  set _LIBJARS=
  for %%i in (%EXAMPLE_HOME%\lib\*.jar) do call %EXAMPLE_HOME%\bin\cpappend.bat %%i
  if not "%_LIBJARS%" == "" goto run
  
  echo Unable to set CLASSPATH dynamically.
  goto end
  
  :run
  set CP=%CP%%_LIBJARS%
  
  rem Run the example application
  %EXAMPLE_JAVACMD% -Djava.compiler="NONE" -classpath "%CP%" org.apache.excalibur.instrument.example_icm.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
  
  :end
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/bin/run.sh
  
  Index: run.sh
  ===================================================================
  #!/bin/bash 
  #
  # Startup script.
  #
  
  #
  # Determine if JAVA_HOME is set and if so then use it
  #
  if [ -z "$JAVA_HOME" ] ;  then
    JAVA=`which java`
    if [ -z "$JAVA" ] ; then
      echo "Cannot find JAVA. Please set your PATH."
      exit 1
    fi
    JAVA_BINDIR=`dirname $JAVA`
    JAVA_HOME=$JAVA_BINDIR/..
  fi
  
  if [ "$JAVACMD" = "" ] ; then
     # it may be defined in env - including flags!!
     JAVACMD=$JAVA_HOME/bin/java
  fi
  
  # Main.java has hard coded config values so this script must be run from 
  # altprofile/bin (any better ideas ?)
  EXAMPLE_HOME=..
  
  #
  # Build the runtime classpath
  #
  for i in ${EXAMPLE_HOME}/lib/*.jar ; do
      CP=${CP}:$i
  done
  
  #echo $CP
  
  # Run the example application
  $JAVACMD -classpath $CP org.apache.excalibur.instrument.example_icm.Main $@
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/conf/components.xml
  
  Index: components.xml
  ===================================================================
  <components logger="cm">
      <!-- =============================================================== -->
      <!-- Application components.                                         -->
      <!-- =============================================================== -->
      <example-instrumentable logger="app"/>
  </components>
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/conf/instrument.xml
  
  Index: instrument.xml
  ===================================================================
  <instrument logger="im">
      <state-file interval="60000" use-compact-samples="true">../data/instrument.sampledata</state-file>
      
      <instrumentables>
          <!-- The profiler Profilable is the ProfilerManager itself. -->
          <instrumentable name="component-manager">
              <instrument name="example-instrumentable.puts">
                  <sample type="ctr" interval="1000" size="600"/>
              </instrument>
              <instrument name="example-instrumentable.gets">
                  <sample type="ctr" interval="1000" size="600"/>
              </instrument>
              <instrument name="example-instrumentable.references">
                  <sample type="max" interval="1000" size="600"/>
              </instrument>
          </instrumentable>
          
          <instrumentable name="instrument-manager" description="Instrument Manager">
              <instrument name="active-thread-count" description="Active Thread Count">
                  <sample type="max" interval="1000" size="600" description="Maximum each second."/>
              </instrument>
              
              <instrument name="total-memory" description="Total Memory">
                  <sample type="max" interval="1000" size="600" description="Maximum each second."/>
              </instrument>
              
              <instrument name="free-memory" description="Free Memory">
                  <sample type="min" interval="1000" size="600" description="Minimum each second."/>
              </instrument>
              
              <instrument name="memory" description="In-Use Memory">
                  <sample type="max" interval="1000" size="600" description="Maximum each second."/>
              </instrument>
          </instrumentable>
          
          <!-- ExampleProfilable. -->
          <instrumentable name="example-instrumentable" description="Example Instrumentable">
              <!-- Note that any number of samples are possible for each profile point. -->
              <instrument name="random-quick" description="Random Values at a quick rate.">
                  <sample type="maximum" interval="1000" size="600" description="Maximum each second."/>
                  <sample type="minimum" interval="1000" size="600" description="Minimum each second."/>
                  <sample type="mean" interval="1000" size="600" description="Average each second."/>
              </instrument>
              
              <instrument name="random-slow" description="Random Values at a slow rate.">
                  <sample type="maximum" interval="1000" size="600" description="Maximum each second."/>
                  <sample type="minimum" interval="1000" size="600" description="Minimum each second."/>
                  <sample type="mean" interval="1000" size="600" description="Average each second."/>
              </instrument>
              
              <instrument name="random-random" description="Random Values at a random rate.">
                  <sample type="maximum" interval="1000" size="600" description="Maximum each second."/>
                  <sample type="minimum" interval="1000" size="600" description="Minimum each second."/>
                  <sample type="mean" interval="1000" size="600" description="Average each second."/>
              </instrument>
              
              <instrument name="counter-quick" description="Count of actions at a quick rate.">
                  <sample type="counter" interval="100" size="600" description="Count per 100ms."/>
                  <sample type="counter" interval="1000" size="600" description="Count per second."/>
                  <sample type="counter" interval="60000" size="60" description="Count per minute."/>
              </instrument>
              
              <instrument name="counter-slow" description="Count of actions at a slow rate.">
                  <sample type="counter" interval="1000" size="600" description="Count per second."/>
                  <sample type="counter" interval="60000" size="60" description="Count per minute."/>
              </instrument>
              
              <instrument name="counter-random" description="Count of actions at a random rate.">
                  <sample type="counter" interval="1000" size="600" description="Count per second."/>
                  <sample type="counter" interval="60000" size="60" description="Count per minute."/>
              </instrument>
              
              <instrument name="doaction-counter" description="Number of times doAction is called.">
                  <sample type="counter" interval="1000" size="600" description="Count per second."/>
                  <sample type="counter" interval="60000" size="60" description="Count per minute."/>
              </instrument>
          </instrumentable>
      </instrumentables>
  </instrument>
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/conf/logkit.xml
  
  Index: logkit.xml
  ===================================================================
  <logkit logger="lm" log-level="INFO">
      <factories>
          <factory type="stream" 
                   class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory"/>
          <factory type="file" 
                   class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/>
          <factory type="priority-filter" 
                   class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory"/>
      </factories>
      <targets>
          <stream id="console">
              <stream>System.out</stream>
              <format type="avalon">
  %19.19{time:yyyy-MM-dd'T'HH:mm:ss.SSS} %5.5{priority} [%15.15{category}]: %{message}\n%{throwable}
              </format>
          </stream>
      </targets>
      <categories>
          <!-- Profiler Manager Logger -->
          <category name="im" log-level="INFO">
              <log-target id-ref="console"/>
              
              <!-- The values child logger can dump out a lot of data. -->
              <category name="values" 
                        log-level="INFO">
                  <log-target id-ref="console"/>
              </category>
          </category>
          
          <!-- Role Manager Logger -->
          <category name="rm" log-level="INFO">
              <log-target id-ref="console"/>
          </category>
          
          <!-- Component Manager Logger -->
          <category name="cm" log-level="INFO">
              <log-target id-ref="console"/>
          </category>
          
          <!-- Application Loggers -->
          <category name="app" log-level="INFO">
              <log-target id-ref="console"/>
          </category>
      </categories>
  </logkit>
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/conf/roles.xml
  
  Index: roles.xml
  ===================================================================
  <role-list logger="rm">
      <!-- =================================================================== -->
      <!-- Application roles.                                                  -->
      <!-- =================================================================== -->
      <role name="org.apache.excalibur.instrument.example_icm.ExampleInstrumentable"
            shorthand="example-instrumentable"
            default-class="org.apache.excalibur.instrument.example_icm.DefaultExampleInstrumentable"/>
  </role-list>
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/data/instrument.sampledata
  
  Index: instrument.sampledata
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <instrument-manager-state>
  <instrumentable name="example-instrumentable">
  <instrument name="example-instrumentable.counter-quick">
  <sample time="1028386745200" type="counter" interval="100" size="600">
  <history>1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</history>
  </sample>
  <sample time="1028386740000" type="counter" interval="60000" size="60">
  <history>53,557,581,582,582,590,578,598,597,577,582,570,576,544,547,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  <sample time="1028386745000" type="counter" interval="1000" size="600">
  <history>3,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,9,10,10,10,10,10,9,10,10,9,10,10,10,9,7,9,10,5,8,7,6,7,8,9,10,9,10,10,10,10,10,10,10,5,10,8,9,10,10,9,10,10,10,9,10,10,9,10,9,10,10,10,9,10,10,10,10,10,9,10,10,10,9,10,10,10,9,10,10,10,5,8,10,9,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,9,10,10,9,10,9,10,10,10,10,9,10,10,10,9,10,10,9,9,10,10,6,9,10,10,10,10,10,7,9,10,10,10,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,10,10,10,10,10,9,10,10,10,10,10,10,9,10,10,10,9,10,10,10,10,10,9,10,10,10,10,10,10,10,9,10,7,9,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,6,10,9,10,9,10,10,10,10,10,9,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,9,10,10,9,10,10,9,10,10,10,8,10,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,10,10,10,10,10,9,10,10,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,9,10,10,10,10,10,10,9,10,10,10,9,10,10,10,8,10,10,10,10,10,10,8,10,10,9,10,10,10,10,10,10,10,10,9,10,10,10,9,9,9,10,10,10,10,9,7,8,10,10,9,7,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,10,10,10,10,10,9,10,10,9,10,10,10,9,10,5,10,10,9,10,9,10,10,9,10,9,10,10,10,10,9,10,9,10,10,10,9,10,9,10,10,10,10,9,10,10,9,10,10,10,10,9,10,8,9,10,10,9,10,10,10,9,10,10,10,10,10,10,9,10,10,9,10,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,10,10,9,9,10,10,9,10,10,9,10,9,10,10,8,10,9,9,10,9,10</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.counter-random">
  <sample time="1028386740000" type="counter" interval="60000" size="60">
  <history>6,47,62,58,65,56,51,71,67,55,67,57,56,61,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  <sample time="1028386744000" type="counter" interval="1000" size="600">
  <history>2,0,2,1,1,1,4,2,1,0,0,0,0,0,1,0,1,1,0,1,0,0,2,1,2,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,1,2,1,1,2,0,2,0,1,0,2,2,2,0,1,1,0,1,2,1,0,1,1,2,0,0,2,1,0,0,1,1,3,2,1,0,4,1,1,1,0,3,0,1,0,1,1,1,1,0,0,1,1,1,0,0,0,3,1,1,2,2,1,1,1,1,2,0,2,0,2,0,2,2,0,1,2,0,1,2,1,0,1,1,1,4,0,1,1,2,0,1,2,0,0,1,0,1,2,0,0,1,1,1,0,1,1,2,0,2,2,2,1,1,0,2,0,1,1,1,2,1,0,0,0,0,1,2,2,1,3,1,0,1,0,0,2,0,3,0,2,0,1,0,1,0,2,0,2,1,1,1,3,0,1,1,2,1,0,3,0,0,1,2,3,1,1,3,1,2,0,2,1,0,1,0,0,3,1,1,2,0,0,1,0,0,1,2,0,1,0,1,2,1,0,2,1,0,3,1,2,0,2,2,0,1,1,1,1,2,1,0,0,0,0,1,3,0,2,0,0,5,1,3,0,2,2,0,2,1,0,0,2,2,0,2,0,1,1,0,1,0,2,1,1,1,1,0,1,0,0,2,3,0,0,1,1,0,1,0,1,1,0,1,0,0,1,1,0,5,1,0,1,0,0,1,0,2,2,1,0,3,0,0,0,0,1,1,0,2,2,0,0,0,1,1,1,1,0,2,1,1,0,0,1,2,0,1,0,0,0,1,1,1,1,1,1,2,1,1,1,0,0,3,1,2,0,1,2,1,3,1,1,0,2,1,2,0,3,0,2,0,1,1,1,1,2,0,2,2,1,0,1,1,1,2,1,1,1,0,2,1,2,3,2,1,3,1,2,1,0,1,0,0,0,1,1,1,1,3,1,2,1,1,0,0,1,0,1,1,0,1,1,4,2,2,0,2,2,2,0,1,2,2,1,0,0,1,2,2,1,0,1,3,1,1,1,0,0,2,1,1,3,3,1,0,1,1,0,3,2,1,0,0,2,2,1,0,2,0,1,0,0,2,0,1,1,0,1,2,1,2,2,1,0,1,0,2,1,1,0,2,1,2,0,0,1,1,0,0,1,2,0,1,0,0,1,0,0,0,3,2,2,1,0,0,0,2,0,1,2,2,1,0,0,1,3,0,1,3,1,1,0,0,1,2,0,1,0,1,1,0,1,0,2,0,2,2,3,3,0,1,1,0,2,1,0,1,2,1,0,2,1,3,1,1,2,1,3,2,0,0,1,1,2,1,2,1,0,2,0,0,2,0,1,0,1,1,1,0</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.counter-slow">
  <sample time="1028386740000" type="counter" interval="60000" size="60">
  <history>3,27,29,30,29,29,29,30,30,29,29,28,29,27,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  <sample time="1028386744000" type="counter" interval="1000" size="600">
  <history>1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.doaction-counter">
  <sample time="1028384820000" type="counter" interval="60000" size="60">
  <history>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  <sample time="1028384876000" type="counter" interval="1000" size="600">
  <history>0,0,3,2,1,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.random-quick">
  <sample time="1028386745000" type="mean" value-total="192" interval="1000" value-count="3" size="600">
  <history>64,46,71,44,29,56,47,58,54,62,44,37,42,42,60,53,70,55,43,55,34,43,59,47,52,39,52,56,59,56,57,33,74,32,48,32,38,47,33,54,56,43,39,37,63,63,55,41,46,50,48,37,45,52,61,37,55,60,42,41,57,32,44,63,68,42,42,45,39,53,53,67,43,75,35,67,58,41,59,51,46,41,43,55,57,53,24,33,31,59,42,56,43,56,59,31,47,37,35,66,59,36,60,37,53,54,48,54,43,33,56,44,49,71,60,39,34,40,37,50,48,42,55,31,61,36,52,36,50,49,62,58,60,47,43,50,60,54,60,45,64,55,52,42,56,59,57,32,57,44,41,50,53,44,50,48,46,60,33,50,45,38,62,46,47,20,60,43,53,57,55,48,51,48,59,23,54,53,45,40,51,55,66,41,41,36,45,48,65,64,43,53,34,60,52,54,54,53,44,45,34,59,51,47,35,36,50,47,38,62,34,60,66,48,39,48,57,55,51,43,45,34,35,51,67,48,37,61,52,46,45,47,42,46,41,63,44,45,43,41,51,56,33,42,46,54,51,48,58,58,48,54,43,52,48,46,41,43,56,63,50,49,47,42,46,70,58,47,65,57,55,48,48,53,51,28,44,63,41,35,31,50,46,53,34,54,46,45,59,40,53,40,47,47,61,67,42,52,52,53,54,51,56,45,48,43,62,45,47,67,60,58,30,39,45,55,49,44,49,41,35,65,45,53,48,49,41,42,46,49,37,46,71,57,47,34,51,63,56,52,45,69,48,49,57,41,42,53,38,47,59,58,62,39,55,40,41,39,35,47,46,38,38,54,48,48,45,41,42,50,48,57,59,49,54,43,45,46,34,66,40,49,28,46,61,46,60,42,43,50,36,55,51,53,36,49,52,69,55,54,37,41,40,51,58,56,42,45,55,60,54,61,54,40,47,42,45,39,45,47,43,40,51,37,63,56,45,52,39,54,64,57,45,42,35,56,58,58,51,51,41,42,64,53,50,45,65,38,44,47,60,58,53,34,34,42,59,44,73,51,42,44,40,50,53,47,46,40,44,47,51,49,47,26,61,58,57,44,55,36,46,44,32,45,55,50,40,36,42,37,68,57,34,43,67,35,46,45,30,36,31,52,32,51,38,44,38,57,51,43,61,48,55,47,37,66,48,48,42,35,51,48,62,53,41,56,43,63,59,62,55,54,46,45,46,45,42,44,39,47,61,46,59,58,53,64,47,40,55,40,51,54,39,40,49,55,45,40,42,50,48,46,64,61,49,52,65,38,45,51,57,51,37,41,43,38,57,45,60,44,45,45,26,47,49,75,41,49,46,34,47,25,63,40,60,52,61,45,45,55</history>
  </sample>
  <sample time="1028386745000" last-value="58" type="maximum" interval="1000" value-count="3" size="600">
  <history>84,91,99,96,67,97,92,84,98,98,88,57,84,94,99,96,95,99,92,77,78,94,98,94,99,78,92,92,99,99,97,74,98,86,96,73,95,98,68,89,96,81,99,87,99,99,98,64,95,76,95,71,99,90,89,93,93,92,98,76,91,92,81,99,85,85,92,99,71,99,99,99,87,98,98,97,96,93,97,93,99,81,89,94,97,85,52,51,53,98,84,93,82,93,86,87,86,89,93,94,96,99,99,88,95,93,94,86,77,62,94,98,76,99,96,80,93,93,97,97,91,93,90,89,98,87,87,76,87,82,93,89,96,91,97,98,90,87,94,88,98,96,96,67,92,83,94,76,98,83,83,81,93,93,90,95,93,93,82,96,96,96,99,71,97,53,89,76,87,97,98,90,87,80,96,80,93,89,78,97,89,96,99,81,85,75,88,90,98,90,92,98,83,98,87,99,92,92,95,84,95,97,88,88,87,88,89,67,99,92,66,88,91,77,70,83,88,87,87,84,89,92,84,92,86,89,99,98,89,93,76,86,95,92,79,95,93,89,81,78,95,93,95,92,95,97,88,85,92,93,89,84,80,97,97,98,88,98,99,95,92,96,81,69,91,99,89,72,91,94,94,91,91,91,96,69,85,99,85,99,85,98,88,83,86,97,99,81,95,85,96,77,97,92,99,96,89,93,88,92,97,99,99,75,83,91,98,96,98,99,99,99,66,70,81,92,97,89,97,79,56,89,91,89,96,99,89,69,83,88,82,89,98,98,81,90,98,99,96,97,69,96,91,90,88,92,77,78,75,71,93,80,93,81,99,93,96,93,92,90,99,83,99,88,83,99,95,90,93,97,98,88,89,97,86,74,93,70,99,93,91,89,97,84,98,83,93,92,91,97,70,95,94,92,71,88,84,97,94,90,65,78,86,97,94,99,94,93,93,97,99,94,96,87,95,96,98,69,97,89,96,92,97,96,95,96,98,96,97,87,99,97,78,83,72,90,95,99,94,97,93,73,97,97,96,74,98,98,83,99,96,84,99,92,97,84,94,97,98,99,75,85,74,91,89,91,81,78,93,89,91,84,87,53,95,94,92,90,75,81,92,95,94,90,86,88,85,86,95,85,95,99,95,99,97,75,99,96,77,77,90,87,59,97,85,94,80,86,88,80,92,87,96,99,79,99,86,92,93,75,94,95,99,93,76,96,86,93,95,98,94,92,95,98,88,94,99,97,85,96,97,99,94,87,88,91,78,82,98,95,98,92,66,68,96,95,96,96,82,98,95,87,90,85,87,91,98,83,97,67,93,96,94,98,94,91,98,88,84,87,98,95,94,99,95,97,83,83,78,93,81,64,98,80,90,96,80,93,87,99</history>
  </sample>
  <sample time="1028386745000" last-value="58" type="minimum" interval="1000" value-count="3" size="600">
  <history>50,5,11,1,1,3,2,16,12,13,0,10,3,7,22,9,38,9,4,28,0,1,4,0,1,8,3,8,17,6,18,6,20,9,0,0,7,0,7,29,2,10,0,4,20,7,6,6,0,7,4,13,9,3,30,1,14,19,6,20,20,1,1,31,40,8,12,8,4,22,12,13,0,13,6,37,23,3,33,19,0,2,1,1,24,16,1,3,1,15,6,3,2,8,11,2,3,5,3,45,30,9,14,2,5,7,10,7,15,0,28,1,22,18,16,17,1,0,4,3,8,13,16,0,13,2,12,3,2,18,0,8,11,3,2,8,10,21,15,4,42,3,4,6,5,22,12,1,22,0,6,19,1,1,5,0,18,2,1,7,2,4,22,1,2,1,23,6,13,26,2,0,16,20,14,0,15,6,11,3,7,0,18,14,2,3,11,2,13,48,5,14,7,9,11,0,3,18,4,4,1,30,8,4,15,4,9,6,3,30,1,50,28,10,13,18,11,16,6,6,3,4,0,6,44,13,1,0,1,6,18,0,5,9,4,35,2,8,12,3,4,8,3,7,14,9,17,25,19,42,3,24,3,5,2,15,2,0,15,39,32,17,4,8,5,12,6,26,34,1,6,0,0,23,10,0,3,10,3,0,1,12,0,26,2,12,3,3,12,0,13,8,0,1,26,39,5,4,10,21,14,3,5,0,0,5,14,7,4,12,3,14,0,7,8,23,14,1,1,4,11,29,3,6,3,0,5,5,5,3,2,0,33,1,1,0,3,4,9,1,13,32,4,5,12,1,8,25,1,27,4,37,7,0,0,4,3,1,0,0,4,1,1,4,4,8,2,3,6,0,1,19,0,18,6,7,1,7,2,22,4,1,2,1,23,1,21,0,0,11,5,17,1,14,6,3,2,29,9,26,1,1,0,5,26,6,9,6,12,13,12,23,11,1,0,0,4,7,2,8,5,0,21,4,26,4,18,24,6,20,14,16,2,2,14,12,10,6,1,3,6,13,7,4,5,14,15,1,22,4,5,31,21,1,1,9,1,1,44,5,0,3,1,0,1,8,5,12,5,16,0,14,2,2,19,24,11,1,20,8,16,3,4,1,0,14,4,0,7,0,26,19,7,13,10,0,8,2,0,1,2,2,2,21,0,2,16,6,0,21,25,5,11,3,2,15,6,2,18,3,11,4,33,18,5,1,3,0,30,28,25,16,10,5,0,12,2,1,0,13,8,3,9,5,3,15,16,1,6,2,7,7,18,14,7,29,0,2,12,13,0,7,7,23,16,22,4,0,4,26,10,13,4,2,0,2,6,8,22,1,3,7,7,0,11,18,0,0,7,3,6,2,13,6,9,6,22,3,7,3</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.random-random">
  <sample time="1028386744000" type="mean" value-total="34" interval="1000" value-count="2" size="600">
  <history>17,8,8,95,93,18,29,54,48,49,49,49,49,49,49,46,46,42,28,28,17,17,17,43,59,54,54,54,1,1,1,1,4,4,4,4,4,47,47,66,66,64,29,49,56,49,49,31,31,18,18,46,61,97,97,23,12,12,61,78,29,29,45,45,37,37,37,86,3,3,3,55,32,30,62,61,61,52,19,63,37,37,9,9,7,7,8,97,7,94,94,94,0,64,63,63,63,63,11,43,75,65,59,92,82,35,55,64,64,90,90,51,51,9,32,32,7,60,60,67,40,88,88,81,99,43,82,82,61,30,59,59,40,11,11,11,69,69,35,14,14,14,79,90,42,42,30,75,66,66,41,55,13,85,55,55,60,60,39,32,14,96,49,49,49,49,49,44,54,20,44,86,5,5,29,29,29,64,64,3,3,58,58,75,75,30,30,80,80,99,6,17,45,15,15,83,62,73,41,41,78,78,78,61,25,9,79,31,82,57,76,76,20,70,70,52,52,52,95,58,58,77,77,77,10,10,10,37,68,68,30,30,64,61,29,29,81,34,34,95,67,11,11,49,94,94,10,27,4,61,0,8,8,8,8,8,55,53,53,62,62,62,94,57,45,45,33,76,76,0,48,48,48,55,30,30,68,68,32,18,18,37,37,17,30,77,80,47,47,90,90,90,86,49,49,49,3,74,74,63,63,32,89,89,19,19,19,51,48,48,51,13,13,67,67,67,56,56,18,85,49,49,75,75,75,75,75,3,48,48,56,53,53,53,53,19,2,71,26,26,42,76,41,41,41,54,86,86,38,38,38,38,49,39,43,4,12,25,36,7,77,39,39,39,60,71,10,10,38,29,61,93,69,73,73,15,44,42,42,30,30,78,78,88,91,35,63,63,63,60,44,83,83,86,64,47,70,11,23,75,75,25,51,84,47,42,52,34,34,87,54,54,47,47,47,47,82,46,85,58,79,8,14,21,62,62,62,47,47,65,15,15,45,59,40,59,74,74,59,57,62,62,74,76,41,7,7,7,41,69,63,10,10,56,59,9,94,23,23,23,70,3,58,18,64,84,84,84,33,33,65,63,63,63,63,39,53,38,38,13,13,91,91,91,74,74,13,61,61,45,54,35,23,7,42,42,56,56,73,65,25,25,82,63,32,32,32,60,8,8,8,63,16,16,8,8,8,57,57,57,57,61,49,61,33,33,33,33,40,40,51,70,92,6,6,6,39,55,55,12,72,58,50,50,50,24,46,46,79,79,3,76,76,63,63,34,34,58,36,42,86,86,47,59,59,76,29,29,64,91,75,75,27,63,97,56,43,8,47,72,71,71,71,86,41,32,20,28,64,64,55,55,55,7,7,9,9,86,82,18</history>
  </sample>
  <sample time="1028386744000" last-value="25" type="maximum" interval="1000" value-count="2" size="600">
  <history>25,15,15,95,93,18,69,95,48,49,49,49,49,49,49,46,46,42,28,28,12,12,22,43,92,54,54,54,1,1,1,1,4,4,4,4,4,47,47,66,66,70,29,49,65,8,90,31,31,35,35,78,84,97,97,23,12,12,64,78,29,29,45,70,9,9,66,86,3,3,3,55,56,37,62,73,96,52,19,63,16,70,9,9,7,7,8,97,7,94,94,94,0,64,51,51,51,84,11,43,83,88,59,92,82,35,67,78,78,99,99,81,81,18,32,32,8,60,60,69,40,88,88,81,99,86,82,82,61,37,59,59,77,11,11,11,69,69,38,14,14,14,79,90,42,42,30,98,42,90,62,69,13,85,72,72,60,60,39,32,20,96,49,49,49,49,49,60,61,20,85,86,5,5,8,8,50,60,79,1,6,58,58,75,75,3,57,72,89,99,6,17,60,15,15,83,75,73,70,70,78,78,78,62,43,9,79,87,82,64,67,85,20,70,70,70,70,70,95,58,72,77,77,77,10,10,10,64,68,68,30,30,97,61,44,44,81,75,75,95,97,23,23,57,94,94,10,27,4,82,0,8,8,8,8,8,69,73,73,69,69,82,94,99,10,80,34,93,93,0,51,51,51,86,53,53,68,68,32,18,18,29,45,17,30,77,80,47,47,92,92,92,97,49,49,49,3,74,74,63,63,32,89,89,19,19,19,51,58,89,51,13,13,67,67,67,47,66,27,85,31,97,75,75,75,75,75,3,29,67,64,53,53,53,53,19,2,71,15,38,42,76,41,41,41,58,86,86,38,38,38,38,49,39,43,4,12,29,36,7,77,69,69,69,60,77,10,10,50,29,98,93,69,56,90,15,65,23,59,1,60,78,78,88,91,35,73,52,75,92,44,83,83,86,64,90,70,11,23,74,77,25,68,96,95,42,78,34,41,87,54,54,47,47,47,47,82,46,85,94,79,10,14,21,62,62,62,47,47,65,15,15,45,94,73,94,62,86,92,76,62,62,76,78,41,7,7,7,44,98,63,10,10,72,59,9,94,13,13,33,70,3,97,51,64,84,84,84,28,42,89,63,92,92,92,62,53,73,73,13,13,89,89,94,74,74,13,61,61,67,54,39,32,7,42,42,33,79,73,65,14,36,82,67,32,32,32,60,8,8,8,91,16,16,8,8,8,57,57,57,62,86,55,61,53,53,53,53,40,40,75,75,92,6,6,6,59,55,55,23,72,58,50,50,50,47,46,46,79,79,3,76,76,68,68,49,49,64,51,76,86,86,47,28,90,76,29,29,74,91,54,97,27,90,97,56,56,8,88,77,71,71,71,86,79,32,29,28,84,84,43,43,68,7,7,9,9,86,82,18</history>
  </sample>
  <sample time="1028386744000" last-value="25" type="minimum" interval="1000" value-count="2" size="600">
  <history>9,15,1,95,93,18,9,14,48,49,49,49,49,49,49,46,46,42,28,28,12,12,12,43,26,54,54,54,1,1,1,1,4,4,4,4,4,47,47,66,66,59,29,49,48,8,8,31,31,35,2,15,39,97,97,23,12,12,58,78,29,29,45,21,9,9,9,86,3,3,3,55,0,24,62,73,24,52,19,63,16,16,9,9,7,7,8,97,7,94,94,94,0,64,51,51,51,51,11,43,67,43,59,92,82,35,44,78,50,99,81,81,21,0,32,32,7,60,60,66,40,88,88,81,99,19,82,82,61,24,59,59,3,11,11,11,69,69,32,14,14,14,79,90,42,42,30,52,42,42,21,42,13,85,72,39,60,60,39,32,8,96,49,49,49,49,49,29,48,20,7,86,5,5,8,8,8,60,55,1,1,58,58,75,75,3,3,72,72,99,6,17,21,15,15,83,50,73,70,17,78,78,78,61,17,9,79,0,82,50,67,67,20,70,70,70,70,27,95,58,45,77,77,77,10,10,10,10,68,68,30,30,31,61,44,15,81,75,6,95,37,23,0,41,94,94,10,27,4,41,0,8,8,8,8,8,41,73,33,69,69,46,94,15,10,10,32,93,60,0,51,51,45,24,53,8,68,68,32,18,18,29,29,17,30,77,80,47,47,92,92,89,65,49,49,49,3,74,74,63,63,32,89,89,19,19,19,51,58,23,51,13,13,67,67,67,47,47,10,85,31,20,75,75,75,75,75,3,29,29,48,53,53,53,53,19,2,71,15,15,42,76,41,41,41,50,86,86,38,38,38,38,49,39,43,4,12,21,36,7,77,69,69,18,60,66,10,10,26,29,19,93,69,56,56,15,24,23,23,1,1,78,78,88,91,35,53,52,52,28,44,83,83,86,64,5,70,11,23,74,74,25,34,65,0,42,3,34,28,87,54,54,47,47,47,47,82,46,85,12,79,6,14,21,62,62,62,47,47,65,15,15,45,24,8,24,62,62,27,39,62,62,73,75,41,7,7,7,38,40,63,10,10,45,59,9,94,13,13,13,70,3,19,1,64,84,84,84,28,28,41,63,92,92,35,16,53,73,4,13,13,89,89,89,74,74,13,61,61,24,54,32,15,7,42,42,33,33,73,65,14,14,82,59,32,32,32,60,8,8,8,36,16,16,8,8,8,57,57,57,52,37,43,61,53,53,53,14,40,40,28,65,92,6,6,6,17,55,55,7,72,58,50,50,50,1,46,46,79,79,3,76,76,68,59,49,20,52,25,16,86,86,47,28,28,76,29,29,55,91,54,54,27,41,97,56,30,8,3,68,71,71,71,86,4,32,11,28,84,45,43,43,43,7,7,9,9,86,82,18</history>
  </sample>
  </instrument>
  <instrument name="example-instrumentable.random-slow">
  <sample time="1028386744000" type="mean" value-total="90" interval="1000" value-count="1" size="600">
  <history>90,61,61,1,1,33,33,71,71,65,65,90,90,86,86,86,46,46,23,23,94,94,10,10,40,40,8,8,0,0,11,11,21,21,48,48,48,6,6,6,44,44,19,19,19,78,78,76,76,27,27,30,30,59,59,26,26,75,75,70,70,70,22,22,45,45,83,83,19,19,95,95,97,97,9,9,83,83,70,70,19,19,28,28,95,95,6,6,6,35,35,45,45,48,48,20,20,63,63,12,12,65,65,54,54,38,38,84,84,14,14,31,31,43,43,33,33,77,77,74,74,91,91,75,75,75,55,55,60,60,68,68,0,0,21,21,96,96,96,73,73,11,11,3,3,13,13,43,43,79,79,78,78,70,70,26,26,3,3,79,79,70,70,35,35,94,94,68,68,47,47,36,36,75,75,77,77,25,25,64,64,72,72,50,50,89,89,19,19,91,91,6,6,6,44,44,7,7,64,64,28,28,76,76,96,96,44,44,5,5,47,47,84,84,62,62,62,28,28,74,74,62,62,20,20,75,75,74,74,80,80,30,30,76,76,55,55,31,31,75,75,76,76,90,90,98,98,78,78,27,27,36,36,12,12,5,5,68,68,0,0,0,4,4,52,52,94,94,98,98,34,34,38,38,2,2,93,93,22,22,16,16,54,54,38,38,74,74,47,47,77,77,81,81,0,0,96,96,12,12,41,41,83,83,56,56,88,88,29,29,84,84,93,93,64,64,49,49,46,46,46,69,69,85,85,41,41,82,82,53,53,67,67,63,63,53,53,40,40,53,53,85,85,34,34,74,74,28,28,88,88,88,48,48,56,56,37,37,96,96,82,82,48,48,27,27,43,43,97,97,28,28,67,67,26,26,81,81,81,81,9,9,12,12,44,44,76,76,12,12,88,88,26,26,19,19,44,44,55,55,73,73,17,17,87,87,57,57,3,3,53,53,40,40,40,55,55,23,23,59,59,12,12,87,87,59,59,30,30,67,67,87,87,33,33,76,76,1,1,58,58,63,63,97,97,41,41,57,57,22,22,69,69,84,84,19,19,8,8,20,20,53,53,54,54,55,55,90,90,45,45,9,9,26,26,77,77,63,63,71,71,73,73,53,53,66,66,70,70,24,24,77,77,67,67,23,23,46,46,97,97,56,56,49,49,16,16,16,76,76,15,15,54,54,19,19,89,89,76,76,98,98,50,50,66,66,73,73,96,96,96,24,24,52,52,42,42,0,0,44,44,99,99,95,95,93,93,73,73,3,3,75,75,77,77,8,8,32,32,91,91,20,20,20,62,62,69,69,49,49,48,48,7,7,18,18,63,63,38,38,73,73,96,96,21,21,55,55,44,44,33,33,54,54,54,85,85,9,9,7</history>
  </sample>
  <sample time="1028386744000" last-value="90" type="maximum" interval="1000" value-count="1" size="600">
  <history>90,61,61,1,1,33,33,71,71,65,65,90,90,86,86,86,46,46,23,23,94,94,10,10,40,40,8,8,0,0,11,11,21,21,48,48,48,6,6,6,44,44,19,19,19,78,78,76,76,27,27,30,30,59,59,26,26,75,75,70,70,70,22,22,45,45,83,83,19,19,95,95,97,97,9,9,83,83,70,70,19,19,28,28,95,95,6,6,6,35,35,45,45,48,48,20,20,63,63,12,12,65,65,54,54,38,38,84,84,14,14,31,31,43,43,33,33,77,77,74,74,91,91,75,75,75,55,55,60,60,68,68,0,0,21,21,96,96,96,73,73,11,11,3,3,13,13,43,43,79,79,78,78,70,70,26,26,3,3,79,79,70,70,35,35,94,94,68,68,47,47,36,36,75,75,77,77,25,25,64,64,72,72,50,50,89,89,19,19,91,91,6,6,6,44,44,7,7,64,64,28,28,76,76,96,96,44,44,5,5,47,47,84,84,62,62,62,28,28,74,74,62,62,20,20,75,75,74,74,80,80,30,30,76,76,55,55,31,31,75,75,76,76,90,90,98,98,78,78,27,27,36,36,12,12,5,5,68,68,0,0,0,4,4,52,52,94,94,98,98,34,34,38,38,2,2,93,93,22,22,16,16,54,54,38,38,74,74,47,47,77,77,81,81,0,0,96,96,12,12,41,41,83,83,56,56,88,88,29,29,84,84,93,93,64,64,49,49,46,46,46,69,69,85,85,41,41,82,82,53,53,67,67,63,63,53,53,40,40,53,53,85,85,34,34,74,74,28,28,88,88,88,48,48,56,56,37,37,96,96,82,82,48,48,27,27,43,43,97,97,28,28,67,67,26,26,81,81,81,81,9,9,12,12,44,44,76,76,12,12,88,88,26,26,19,19,44,44,55,55,73,73,17,17,87,87,57,57,3,3,53,53,40,40,40,55,55,23,23,59,59,12,12,87,87,59,59,30,30,67,67,87,87,33,33,76,76,1,1,58,58,63,63,97,97,41,41,57,57,22,22,69,69,84,84,19,19,8,8,20,20,53,53,54,54,55,55,90,90,45,45,9,9,26,26,77,77,63,63,71,71,73,73,53,53,66,66,70,70,24,24,77,77,67,67,23,23,46,46,97,97,56,56,49,49,16,16,16,76,76,15,15,54,54,19,19,89,89,76,76,98,98,50,50,66,66,73,73,96,96,96,24,24,52,52,42,42,0,0,44,44,99,99,95,95,93,93,73,73,3,3,75,75,77,77,8,8,32,32,91,91,20,20,20,62,62,69,69,49,49,48,48,7,7,18,18,63,63,38,38,73,73,96,96,21,21,55,55,44,44,33,33,54,54,54,85,85,9,9,7</history>
  </sample>
  <sample time="1028386744000" last-value="90" type="minimum" interval="1000" value-count="1" size="600">
  <history>90,61,61,1,1,33,33,71,71,65,65,90,90,86,86,86,46,46,23,23,94,94,10,10,40,40,8,8,0,0,11,11,21,21,48,48,48,6,6,6,44,44,19,19,19,78,78,76,76,27,27,30,30,59,59,26,26,75,75,70,70,70,22,22,45,45,83,83,19,19,95,95,97,97,9,9,83,83,70,70,19,19,28,28,95,95,6,6,6,35,35,45,45,48,48,20,20,63,63,12,12,65,65,54,54,38,38,84,84,14,14,31,31,43,43,33,33,77,77,74,74,91,91,75,75,75,55,55,60,60,68,68,0,0,21,21,96,96,96,73,73,11,11,3,3,13,13,43,43,79,79,78,78,70,70,26,26,3,3,79,79,70,70,35,35,94,94,68,68,47,47,36,36,75,75,77,77,25,25,64,64,72,72,50,50,89,89,19,19,91,91,6,6,6,44,44,7,7,64,64,28,28,76,76,96,96,44,44,5,5,47,47,84,84,62,62,62,28,28,74,74,62,62,20,20,75,75,74,74,80,80,30,30,76,76,55,55,31,31,75,75,76,76,90,90,98,98,78,78,27,27,36,36,12,12,5,5,68,68,0,0,0,4,4,52,52,94,94,98,98,34,34,38,38,2,2,93,93,22,22,16,16,54,54,38,38,74,74,47,47,77,77,81,81,0,0,96,96,12,12,41,41,83,83,56,56,88,88,29,29,84,84,93,93,64,64,49,49,46,46,46,69,69,85,85,41,41,82,82,53,53,67,67,63,63,53,53,40,40,53,53,85,85,34,34,74,74,28,28,88,88,88,48,48,56,56,37,37,96,96,82,82,48,48,27,27,43,43,97,97,28,28,67,67,26,26,81,81,81,81,9,9,12,12,44,44,76,76,12,12,88,88,26,26,19,19,44,44,55,55,73,73,17,17,87,87,57,57,3,3,53,53,40,40,40,55,55,23,23,59,59,12,12,87,87,59,59,30,30,67,67,87,87,33,33,76,76,1,1,58,58,63,63,97,97,41,41,57,57,22,22,69,69,84,84,19,19,8,8,20,20,53,53,54,54,55,55,90,90,45,45,9,9,26,26,77,77,63,63,71,71,73,73,53,53,66,66,70,70,24,24,77,77,67,67,23,23,46,46,97,97,56,56,49,49,16,16,16,76,76,15,15,54,54,19,19,89,89,76,76,98,98,50,50,66,66,73,73,96,96,96,24,24,52,52,42,42,0,0,44,44,99,99,95,95,93,93,73,73,3,3,75,75,77,77,8,8,32,32,91,91,20,20,20,62,62,69,69,49,49,48,48,7,7,18,18,63,63,38,38,73,73,96,96,21,21,55,55,44,44,33,33,54,54,54,85,85,9,9,7</history>
  </sample>
  </instrument>
  </instrumentable>
  <instrumentable name="instrument-manager">
  <instrument name="instrument-manager.active-thread-count">
  <sample time="1028386744000" description="Max each 2 Seconds" last-value="9" type="maximum" interval="2000" value-count="2" lease-expiration="1028386750388" size="600">
  <history>9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  <sample time="1028386745000" last-value="9" type="maximum" interval="1000" value-count="1" size="600">
  <history>9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10</history>
  </sample>
  </instrument>
  <instrument name="instrument-manager.free-memory">
  <sample time="1028386745000" last-value="1088128" type="minimum" interval="1000" value-count="1" size="600">
  <history>1088128,1088144,1088160,1088176,1088192,1088208,1088224,1088240,1088256,1088272,1088288,1088304,1088320,1088336,1088352,1088368,1088384,1088400,1088416,1088432,1088448,1088464,1088480,1088496,1088512,1088528,1088544,1088560,1088576,1088592,1088608,1088624,1088640,1088656,1088672,1088688,1088704,1088720,1088736,1088752,1088768,1088784,1088784,1088800,1088816,1088832,1088848,1088864,1088880,1088896,1088912,1088928,1088944,1088960,1088976,1088992,1089008,1089024,1089040,1089056,1089072,353376,353392,353408,353424,353440,353456,353472,353488,353504,353520,353536,353552,353568,353584,353600,353616,353632,353648,353664,353680,353696,353712,353728,353744,353760,353776,353792,353808,353824,353840,353856,353872,353888,353904,353920,353936,353952,353968,353984,354000,354016,354032,354048,354064,354080,354096,354112,354128,354144,354160,354176,354192,354208,354224,354240,354256,354272,354288,354304,354320,655048,655064,655080,655096,655112,655128,655144,655160,655176,655192,655208,655224,655240,655256,655272,655288,655304,655320,655336,655352,655368,655384,655400,655416,655432,655448,655464,655480,655496,655512,655528,655544,655560,655576,655592,655608,655624,655640,655656,655672,655688,655704,655720,655736,655752,655768,655784,655800,655816,655832,655848,655864,655880,655896,655912,655928,655944,655960,655976,655992,245296,245296,245312,245328,245344,245360,245376,245392,245408,245424,245440,245456,245472,245488,245504,245520,245536,245552,245568,245600,245664,245680,245696,245712,245728,245744,245760,245776,245792,245808,245824,245840,245856,245872,245888,245904,245920,245936,245952,245968,245984,246000,246016,246032,246048,246064,246080,246096,246112,246128,246144,246160,246176,246192,246208,246224,246240,246256,246272,246288,246304,622936,622952,622968,622984,623000,623016,623032,623048,623064,623080,623096,623112,623128,623144,623160,623176,623192,623208,623224,623240,623256,623272,623288,623304,623320,623336,623352,623368,623384,623400,623416,623432,623448,623464,623480,623496,623512,623528,623544,623560,623576,623592,623608,623624,623640,623656,623672,623688,623704,623720,623736,623752,623768,623784,623800,623816,623832,623848,623864,623880,968448,968448,968464,968480,968496,968512,968528,968544,968560,968576,968592,968608,968624,968640,968656,968672,968688,968704,968720,968736,968752,968768,968784,968800,968816,968832,968848,968864,968880,968896,968912,968928,968944,968960,968976,968992,969008,969024,969040,969056,969072,969088,969104,969120,969136,969152,969168,969184,969200,969216,969232,969248,969264,969280,969296,969312,969328,969344,969360,969376,969784,182632,182648,182664,182680,182696,182712,182728,182744,182760,182776,182792,182808,182824,182840,182856,182872,182888,182904,182920,182936,182952,182968,182984,183000,183016,183032,183048,183064,183080,183096,183112,183128,183144,183160,183176,189480,189496,189512,189528,189544,189560,189576,189592,189608,189624,195928,195944,195960,195976,195992,196008,196024,196040,196056,196072,210760,210776,210792,210808,210824,500624,500640,500656,500672,500688,515280,515296,515312,515328,515344,515360,515376,515392,515408,515424,521728,521744,521760,521776,521792,521808,521824,521840,521856,521872,528176,528192,528208,528224,528240,528256,528272,528288,528304,528320,534624,534640,534656,534672,534688,534704,534720,534736,534752,534768,541072,541088,541104,541120,541136,541152,541168,541184,541200,541216,555904,555920,555936,555952,884432,884432,884432,884448,884464,884480,890784,890800,890816,890832,890848,890864,890880,890896,890912,941664,473072,523824,574576,625328,676080,726832,777584,828336,848816,879104,944216,466424,805848,856600,907352,958104,495656,546408,597160,647912,863400,914152,542504,743320,841320,892072,967176,538568,538584,635200,750360,801112,851864,902616,976992,495816,546568,597320,648072,802808,868232,942784,476304,572920,773736,908976,851600,851600,902352,953104,1003856,1060896,1111648,1162400,688920,739672,790424,841176,891928,942680,963160,999736,1050488,1101240,1151992,1202744,726568,777320,828072,878824,929576,986616,1037368,1088120,1138872,1189624,721928,772680,823432,874184,924936,991720,1042472,720136,967320,1099992,1174504,697152,747904,798656,884280,1108136,1158888,794016,854584,905336,956088,1006864,112520,142808,184960,215248</history>
  </sample>
  </instrument>
  <instrument name="instrument-manager.memory">
  <sample time="1028386745000" last-value="1074560" type="maximum" interval="1000" value-count="1" size="600">
  <history>1074560,1074544,1074528,1074512,1074496,1074480,1074464,1074448,1074432,1074416,1074400,1074384,1074368,1074352,1074336,1074320,1074304,1074288,1074272,1074256,1074240,1074224,1074208,1074192,1074176,1074160,1074144,1074128,1074112,1074096,1074080,1074064,1074048,1074032,1074016,1074000,1073984,1073968,1073952,1073936,1073920,1073904,1073904,1073888,1073872,1073856,1073840,1073824,1073808,1073792,1073776,1073760,1073744,1073728,1073712,1073696,1073680,1073664,1073648,1073632,1073616,1678240,1678224,1678208,1678192,1678176,1678160,1678144,1678128,1678112,1678096,1678080,1678064,1678048,1678032,1678016,1678000,1677984,1677968,1677952,1677936,1677920,1677904,1677888,1677872,1677856,1677840,1677824,1677808,1677792,1677776,1677760,1677744,1677728,1677712,1677696,1677680,1677664,1677648,1677632,1677616,1677600,1677584,1677568,1677552,1677536,1677520,1677504,1677488,1677472,1677456,1677440,1677424,1677408,1677392,1677376,1677360,1677344,1677328,1677312,1677296,1376568,1376552,1376536,1376520,1376504,1376488,1376472,1376456,1376440,1376424,1376408,1376392,1376376,1376360,1376344,1376328,1376312,1376296,1376280,1376264,1376248,1376232,1376216,1376200,1376184,1376168,1376152,1376136,1376120,1376104,1376088,1376072,1376056,1376040,1376024,1376008,1375992,1375976,1375960,1375944,1375928,1375912,1375896,1375880,1375864,1375848,1375832,1375816,1375800,1375784,1375768,1375752,1375736,1375720,1375704,1375688,1375672,1375656,1375640,1375624,1786320,1786320,1786304,1786288,1786272,1786256,1786240,1786224,1786208,1786192,1786176,1786160,1786144,1786128,1786112,1786096,1786080,1786064,1786048,1786016,1785952,1785936,1785920,1785904,1785888,1785872,1785856,1785840,1785824,1785808,1785792,1785776,1785760,1785744,1785728,1785712,1785696,1785680,1785664,1785648,1785632,1785616,1785600,1785584,1785568,1785552,1785536,1785520,1785504,1785488,1785472,1785456,1785440,1785424,1785408,1785392,1785376,1785360,1785344,1785328,1785312,1408680,1408664,1408648,1408632,1408616,1408600,1408584,1408568,1408552,1408536,1408520,1408504,1408488,1408472,1408456,1408440,1408424,1408408,1408392,1408376,1408360,1408344,1408328,1408312,1408296,1408280,1408264,1408248,1408232,1408216,1408200,1408184,1408168,1408152,1408136,1408120,1408104,1408088,1408072,1408056,1408040,1408024,1408008,1407992,1407976,1407960,1407944,1407928,1407912,1407896,1407880,1407864,1407848,1407832,1407816,1407800,1407784,1407768,1407752,1407736,1063168,1063168,1063152,1063136,1063120,1063104,1063088,1063072,1063056,1063040,1063024,1063008,1062992,1062976,1062960,1062944,1062928,1062912,1062896,1062880,1062864,1062848,1062832,1062816,1062800,1062784,1062768,1062752,1062736,1062720,1062704,1062688,1062672,1062656,1062640,1062624,1062608,1062592,1062576,1062560,1062544,1062528,1062512,1062496,1062480,1062464,1062448,1062432,1062416,1062400,1062384,1062368,1062352,1062336,1062320,1062304,1062288,1062272,1062256,1062240,1061832,1848984,1848968,1848952,1848936,1848920,1848904,1848888,1848872,1848856,1848840,1848824,1848808,1848792,1848776,1848760,1848744,1848728,1848712,1848696,1848680,1848664,1848648,1848632,1848616,1848600,1848584,1848568,1848552,1848536,1848520,1848504,1848488,1848472,1848456,1848440,1842136,1842120,1842104,1842088,1842072,1842056,1842040,1842024,1842008,1841992,1835688,1835672,1835656,1835640,1835624,1835608,1835592,1835576,1835560,1835544,1820856,1820840,1820824,1820808,1820792,1530992,1530976,1530960,1530944,1530928,1516336,1516320,1516304,1516288,1516272,1516256,1516240,1516224,1516208,1516192,1509888,1509872,1509856,1509840,1509824,1509808,1509792,1509776,1509760,1509744,1503440,1503424,1503408,1503392,1503376,1503360,1503344,1503328,1503312,1503296,1496992,1496976,1496960,1496944,1496928,1496912,1496896,1496880,1496864,1496848,1490544,1490528,1490512,1490496,1490480,1490464,1490448,1490432,1490416,1490400,1475712,1475696,1475680,1475664,1147184,1147184,1147184,1147168,1147152,1147136,1140832,1140816,1140800,1140784,1140768,1140752,1140736,1140720,1140704,1089952,1558544,1507792,1457040,1406288,1355536,1304784,1254032,1203280,1182800,1152512,1087400,1565192,1225768,1175016,1124264,1073512,1535960,1485208,1434456,1383704,1168216,1117464,1489112,1288296,1190296,1139544,1064440,1493048,1493032,1396416,1281256,1230504,1179752,1129000,1054624,1535800,1485048,1434296,1383544,1228808,1163384,1088832,1555312,1458696,1257880,1122640,1180016,1180016,1129264,1078512,1027760,970720,919968,869216,1342696,1291944,1241192,1190440,1139688,1088936,1068456,1031880,981128,930376,879624,828872,1305048,1254296,1203544,1152792,1102040,1045000,994248,943496,892744,841992,1309688,1258936,1208184,1157432,1106680,1039896,989144,1311480,1064296,931624,857112,1334464,1283712,1232960,1147336,923480,872728,1237600,1177032,1126280,1075528,1024752,1919096,1888808,1846656,1816368</history>
  </sample>
  </instrument>
  <instrument name="instrument-manager.total-memory">
  <sample time="1028386745000" last-value="2162688" type="maximum" interval="1000" value-count="1" size="600">
  <history>2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2162688,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616,2031616</history>
  </sample>
  </instrument>
  </instrumentable>
  <instrumentable name="component-manager">
  <instrument name="component-manager.example-instrumentable.gets">
  <sample time="1028384530000" type="counter" interval="1000" size="600">
  <history>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  </instrument>
  <instrument name="component-manager.example-instrumentable.puts">
  <sample time="1028384530000" type="counter" interval="1000" size="600">
  <history>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  </instrument>
  <instrument name="component-manager.example-instrumentable.references">
  <sample time="1028384530000" last-value="0" type="maximum" interval="1000" value-count="0" size="600">
  <history>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</history>
  </sample>
  </instrument>
  </instrumentable>
  </instrument-manager-state>
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/src/java/org/apache/excalibur/instrument/example_icm/DefaultExampleInstrumentable.java
  
  Index: DefaultExampleInstrumentable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.excalibur.instrument.example_icm;
  
  import java.sql.Connection;
  import java.sql.PreparedStatement;
  import java.sql.ResultSet;
  import java.sql.SQLException;
  import java.sql.Timestamp;
  
  import org.apache.excalibur.instrument.CounterInstrument;
  import org.apache.excalibur.instrument.Instrumentable;
  import org.apache.excalibur.instrument.Instrument;
  import org.apache.excalibur.instrument.ValueInstrument;
  
  import org.apache.avalon.framework.activity.Startable;
  import org.apache.avalon.framework.logger.AbstractLogEnabled;
  
  /**
   * This example application creates a component which registers several
   *  Instruments for the example.
   *
   * Note, this code ignores exceptions to keep the code simple.
   *
   * @author <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
   * @version CVS $Revision: 1.1 $ $Date: 2002/08/03 14:59:39 $
   * @since 4.1
   */
  public class DefaultExampleInstrumentable
      extends AbstractLogEnabled
      implements ExampleInstrumentable, Startable, Runnable, Instrumentable
  {
      public static final String INSTRUMENT_RANDOM_QUICK_NAME   = "random-quick";
      public static final String INSTRUMENT_RANDOM_SLOW_NAME    = "random-slow";
      public static final String INSTRUMENT_RANDOM_RANDOM_NAME  = "random-random";
      public static final String INSTRUMENT_COUNTER_QUICK_NAME  = "counter-quick";
      public static final String INSTRUMENT_COUNTER_SLOW_NAME   = "counter-slow";
      public static final String INSTRUMENT_COUNTER_RANDOM_NAME = "counter-random";
      public static final String INSTRUMENT_DOACTION_NAME       = "doaction-counter";
  
      /** Instrumentable Name assigned to this Instrumentable */
      private String m_instrumentableName;
  
      /** Instrument used to profile random values with lots of updates. */
      private ValueInstrument m_randomQuickInstrument;
  
      /** Instrument used to profile random values with few of updates. */
      private ValueInstrument m_randomSlowInstrument;
  
      /** Instrument used to profile random values with updates at a random rate. */
      private ValueInstrument m_randomRandomInstrument;
  
      /** Instrument used to profile random actions with lots of updates. */
      private CounterInstrument m_counterQuickInstrument;
  
      /** Instrument used to profile random actions with few of updates. */
      private CounterInstrument m_counterSlowInstrument;
  
      /** Instrument used to profile random actions with updates at a random rate. */
      private CounterInstrument m_counterRandomInstrument;
  
      /** Instrument used to count the number of times that doAction is called. */
      private CounterInstrument m_doActionInstrument;
  
      /** Thread which is used to send profile data to the random instruments. */
      private Thread m_runner;
  
      /*---------------------------------------------------------------
       * Constructors
       *-------------------------------------------------------------*/
      public DefaultExampleInstrumentable()
      {
          // Initialize the Instrumentable elements.
          m_randomQuickInstrument   = new ValueInstrument( INSTRUMENT_RANDOM_QUICK_NAME );
          m_randomSlowInstrument    = new ValueInstrument( INSTRUMENT_RANDOM_SLOW_NAME );
          m_randomRandomInstrument  = new ValueInstrument( INSTRUMENT_RANDOM_RANDOM_NAME );
          m_counterQuickInstrument  = new CounterInstrument( INSTRUMENT_COUNTER_QUICK_NAME );
          m_counterSlowInstrument   = new CounterInstrument( INSTRUMENT_COUNTER_SLOW_NAME );
          m_counterRandomInstrument = new CounterInstrument( INSTRUMENT_COUNTER_RANDOM_NAME );
          m_doActionInstrument      = new CounterInstrument( INSTRUMENT_DOACTION_NAME );
      }
  
      /*---------------------------------------------------------------
       * ExampleInstrumentable Methods
       *-------------------------------------------------------------*/
      /**
       * Example action method.
       */
      public void doAction()
      {
          getLogger().info( "ExampleInstrumentable.doAction() called." );
  
          // Notify the profiler.
          m_doActionInstrument.increment();
      }
  
      /*---------------------------------------------------------------
       * Startable Methods
       *-------------------------------------------------------------*/
      /**
       * Start the component.
       */
      public void start()
      {
          if ( m_runner == null )
          {
              m_runner = new Thread( this, "ExampleInstrumentableRunner" );
              m_runner.start();
          }
      }
  
      /**
       * Stop the component.
       */
      public void stop()
      {
          if ( m_runner != null )
          {
              m_runner.interrupt();
              m_runner = null;
          }
      }
  
      /*---------------------------------------------------------------
       * Runnable Methods
       *-------------------------------------------------------------*/
      /**
       * Runner thread which is responsible for sending data to the Profiler via
       *  the various random Profile Points.
       */
      public void run()
      {
          int counter = 0;
          while ( m_runner != null )
          {
              // Add some delay to the loop.
              try
              {
                  Thread.sleep( 100 );
              }
              catch ( InterruptedException e )
              {
                  if ( m_runner == null )
                  {
                      return;
                  }
              }
  
              // Handle the quick Profile Points
              m_randomQuickInstrument.setValue( (int)(Math.random() * 100) );
              m_counterQuickInstrument.increment();
  
              // Handle the slow Profile Points
              counter++;
              if ( counter >= 20 )
              {
                  m_randomSlowInstrument.setValue( (int)(Math.random() * 100) );
                  m_counterSlowInstrument.increment();
                  counter = 0;
              }
  
              // Handle the random Profile Points.  Fire 10% of the time.
              if ( 100 * Math.random() < 10 )
              {
                  m_randomRandomInstrument.setValue( (int)(Math.random() * 100) );
                  m_counterRandomInstrument.increment();
              }
          }
      }
  
      /*---------------------------------------------------------------
       * Instrumentable Methods
       *-------------------------------------------------------------*/
      /**
       * Sets the name for the Instrumentable.  The Instrumentable Name is used
       *  to uniquely identify the Instrumentable during the configuration of
       *  the InstrumentManager and to gain access to an InstrumentableDescriptor
       *  through the InstrumentManager.  The value should be a string which does
       *  not contain spaces or periods.
       * <p>
       * This value may be set by a parent Instrumentable, or by the
       *  InstrumentManager using the value of the 'instrumentable' attribute in
       *  the configuration of the component.
       *
       * @param name The name used to identify a Instrumentable.
       */
      public void setInstrumentableName( String name )
      {
          m_instrumentableName = name;
      }
  
      /**
       * Gets the name of the Instrumentable.
       *
       * @return The name used to identify a Instrumentable.
       */
      public String getInstrumentableName()
      {
          return m_instrumentableName;
      }
  
      /**
       * Obtain a reference to all the Instruments that the Instrumentable object
       *  wishes to expose.  All sampling is done directly through the
       *  Instruments as opposed to the Instrumentable interface.
       *
       * @return An array of the Instruments available for profiling.  Should
       *         never be null.  If there are no Instruments, then
       *         EMPTY_INSTRUMENT_ARRAY can be returned.  This should never be
       *         the case though unless there are child Instrumentables with
       *         Instruments.
       */
      public Instrument[] getInstruments()
      {
          return new Instrument[]
          {
              m_randomQuickInstrument,
              m_randomSlowInstrument,
              m_randomRandomInstrument,
              m_counterQuickInstrument,
              m_counterSlowInstrument,
              m_counterRandomInstrument,
              m_doActionInstrument
          };
      }
  
      /**
       * Any Object which implements Instrumentable can also make use of other
       *  Instrumentable child objects.  This method is used to tell the
       *  InstrumentManager about them.
       *
       * @return An array of child Instrumentables.  This method should never
       *         return null.  If there are no child Instrumentables, then
       *         EMPTY_INSTRUMENTABLE_ARRAY can be returned.
       */
      public Instrumentable[] getChildInstrumentables()
      {
          // This instrumentable does not have any children.
          return Instrumentable.EMPTY_INSTRUMENTABLE_ARRAY;
      }
  }
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/src/java/org/apache/excalibur/instrument/example_icm/ExampleInstrumentable.java
  
  Index: ExampleInstrumentable.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.excalibur.instrument.example_icm;
  
  import org.apache.avalon.framework.component.Component;
  
  /**
   * This example application creates a component which registers several
   *  Instruments for the example.
   *
   * Note, this code ignores exceptions to keep the code simple.
   *
   * @author <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
   * @version CVS $Revision: 1.1 $ $Date: 2002/08/03 14:59:39 $
   * @since 4.1
   */
  public interface ExampleInstrumentable
      extends Component
  {
      String ROLE = ExampleInstrumentable.class.getName();
  
      /**
       * Example action method.
       */
      void doAction();
  }
  
  
  
  
  1.1                  jakarta-avalon-excalibur/instrument/example/managerICM/src/java/org/apache/excalibur/instrument/example_icm/Main.java
  
  Index: Main.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.excalibur.instrument.example_icm;
  
  import java.io.BufferedReader;
  import java.io.File;
  import java.io.InputStreamReader;
  
  import org.apache.avalon.excalibur.component.DefaultRoleManager;
  import org.apache.excalibur.instrument.component.InstrumentComponentManager;
  import org.apache.excalibur.instrument.manager.DefaultInstrumentManager;
  import org.apache.excalibur.instrument.manager.altrmi.InstrumentManagerAltrmiServer;
  import org.apache.avalon.excalibur.logger.DefaultLogKitManager;
  import org.apache.avalon.excalibur.concurrent.ThreadBarrier;
  
  import org.apache.avalon.framework.configuration.Configuration;
  import org.apache.avalon.framework.configuration.ConfigurationException;
  import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
  import org.apache.avalon.framework.context.DefaultContext;
  import org.apache.avalon.framework.logger.LogKitLogger;
  
  import org.apache.log.Hierarchy;
  import org.apache.log.Logger;
  import org.apache.log.Priority;
  
  /**
   * This example application loads a component which publishes a series
   *  of Instruments.  An InstrumentManager is created to collect and
   *  manage the Instrument data.  And an Altrmi based InstrumentManagerInterface
   *  is registered.  A client may connect to InstrumentManager later.
   * <p>
   * Note, this code ignores exceptions to keep the code simple.
   *
   * @author <a href="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
   * @version CVS $Revision: 1.1 $ $Date: 2002/08/03 14:59:39 $
   * @since 4.1
   */
  public class Main
  {
      private static InstrumentComponentManager           m_componentManager;
      private static DefaultInstrumentManager             m_instrumentManager;
      private static InstrumentManagerAltrmiServer        m_altrmiServer;
  
      /*---------------------------------------------------------------
       * Constructors
       *-------------------------------------------------------------*/
      private Main() {}
  
      /*---------------------------------------------------------------
       * Methods
       *-------------------------------------------------------------*/
      /**
       * Creates and initializes the component manager using config files.
       */
      private static void createComponentManager()
          throws Exception
      {
          // Create a context to use.
          DefaultContext context = new DefaultContext();
          // Add any context variables here.
          context.makeReadOnly();
  
          // Create a ConfigurationBuilder to parse the config files.
          DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
  
          // Load in the configuration files
          Configuration logKitConfig     = builder.build( "../conf/logkit.xml" );
          Configuration instrumentConfig = builder.build( "../conf/instrument.xml" );
          Configuration rolesConfig      = builder.build( "../conf/roles.xml" );
          Configuration componentsConfig = builder.build( "../conf/components.xml" );
  
          // Setup the LogKitManager
          DefaultLogKitManager logManager = new DefaultLogKitManager();
          Logger lmLogger = Hierarchy.getDefaultHierarchy().
              getLoggerFor( logKitConfig.getAttribute( "logger", "lm" ) );
          lmLogger.setPriority(
              Priority.getPriorityForName( logKitConfig.getAttribute( "log-level", "INFO" ) ) );
          logManager.setLogger( lmLogger );
          logManager.contextualize( context );
          logManager.configure( logKitConfig );
  
          // Set up the Instrument Manager
          m_instrumentManager = new DefaultInstrumentManager( "instrument-manager-example" );
          m_instrumentManager.enableLogging( new LogKitLogger( logManager.getLogger( instrumentConfig.getAttribute( "logger", "pm" ) ) ) );
          m_instrumentManager.configure( instrumentConfig );
          m_instrumentManager.initialize();
  
          // Setup the RoleManager
          DefaultRoleManager roleManager = new DefaultRoleManager();
          roleManager.setLogger(
              logManager.getLogger( rolesConfig.getAttribute( "logger", "rm" ) ) );
          roleManager.configure( rolesConfig );
  
          // Set up the ComponentManager
          m_componentManager = new InstrumentComponentManager();
          m_componentManager.setLogger(
              logManager.getLogger( componentsConfig.getAttribute( "logger", "cm" ) ) );
          m_componentManager.setLogKitManager( logManager );
          m_componentManager.contextualize( context );
          m_componentManager.setInstrumentManager( m_instrumentManager ); // <-- Set the instrument manager.
          m_componentManager.setRoleManager( roleManager );
          m_componentManager.configure( componentsConfig );
          m_componentManager.initialize();
  
          // Set up the InstrumentManagerAltrmiServer so clients can connect.
          m_altrmiServer = new InstrumentManagerAltrmiServer( m_instrumentManager );
  
          /*
          m_instrumentFrame = new InstrumentFrame( m_instrumentManager, "Example Instrument" );
          m_instrumentFrame.setVisible( true );
  
          try
          {
              File desktopFile = new File( "../conf/instrument.desktop" );
              m_instrumentFrame.loadDesktopStateFromFile( desktopFile, false );
          }
          catch ( Exception e )
          {
              System.out.println( "Unable to load desktop file: " + e );
          }
          */
      }
  
      /*---------------------------------------------------------------
       * Main method
       *-------------------------------------------------------------*/
      /**
       * All of the guts of this example exist in the main method.
       */
      public static void main( String[] args )
          throws Exception
      {
          System.out.println( "Running the AltProfile Example Application" );
  
          // Create the ComponentManager
          createComponentManager();
  
          // Get a reference to the example component.
          ExampleInstrumentable instrumentable =
              (ExampleInstrumentable)m_componentManager.lookup( ExampleInstrumentable.ROLE );
          try
          {
              boolean quit = false;
              while ( !quit )
              {
                  System.out.println( "Enter the number of times that exampleAction should be called, or 'q' to quit." );
                  BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );
                  System.out.print( " : " );
                  String cntStr = in.readLine();
  
                  // Can get a null if CTRL-C is hit.
                  if ( ( cntStr == null ) || ( cntStr.equalsIgnoreCase( "q" ) ) )
                  {
                      quit = true;
                  }
                  else if ( ( cntStr.equalsIgnoreCase( "gc" ) ) )
                  {
                      System.gc();
                  }
                  else
                  {
                      try
                      {
                          int concurrent = 100;
                          ThreadBarrier barrier = new ThreadBarrier( concurrent );
                          int cnt = Integer.parseInt( cntStr );
                          int average = Math.max(cnt / concurrent, 1);
  
                          while (cnt > 0)
                          {
                              Thread t = new Thread( new ActionRunner( instrumentable,
                                                            Math.min(average, cnt),
                                                            barrier) );
                              t.start();
  
                              if (cnt > 0)
                              {
                                  cnt -= average;
                              }
  
                              if (cnt < 0)
                              {
                                  cnt = 0;
                              }
                          }
                      }
                      catch ( NumberFormatException e ) {}
                  }
              }
          }
          finally
          {
              // Release the component
              m_componentManager.release( instrumentable );
              instrumentable = null;
  
              // Dispose the InstrumentManagerAltrmiServer
              m_altrmiServer.dispose();
              m_altrmiServer = null;
  
              /*
              // Hide the frame
              m_instrumentFrame.setVisible( false );
              m_instrumentFrame.dispose();
              m_instrumentFrame = null;
              */
  
              // Dispose the ComponentManager
              m_componentManager.dispose();
              m_componentManager = null;
  
              // Dispose the InstrumentManager
              m_instrumentManager.dispose();
              m_instrumentManager = null;
          }
  
          System.out.println();
          System.out.println( "Exiting..." );
          System.exit(0);
      }
  
      private static final class ActionRunner implements Runnable
      {
          private final int m_numIterations;
          private final ExampleInstrumentable m_instrumentable;
          private final ThreadBarrier m_barrier;
  
          protected ActionRunner( ExampleInstrumentable instrumentable, int numIterations, ThreadBarrier barrier )
          {
              m_numIterations = numIterations;
              m_instrumentable = instrumentable;
              m_barrier = barrier;
          }
  
          public void run()
          {
              for ( int i = 0; i < m_numIterations; i++ )
              {
                  m_instrumentable.doAction();
              }
  
              try
              {
                  m_barrier.barrierSynchronize();
              }
              catch (Exception e) {}
          }
      }
  }
  
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@jakarta.apache.org>


Mime
View raw message