examples: add more details to the executor_example notebook

Modify the executor_example notebook to present more details
on the functionality provided by the tests executor API.

Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
diff --git a/ipynb/examples/utils/executor_example.ipynb b/ipynb/examples/utils/executor_example.ipynb
index cc8fbe3..15d2ab4 100644
--- a/ipynb/examples/utils/executor_example.ipynb
+++ b/ipynb/examples/utils/executor_example.ipynb
@@ -1,14 +1,39 @@
 {
  "cells": [
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Executor API - Executor\n",
+    "\n",
+    " A tests executor is a module which supports the execution of a configured set of experiments.<br><br>\n",
+    " Each experiment is composed by:\n",
+    "  - a target configuration\n",
+    "  - a workload to execute\n",
+    "\n",
+    "The executor module can be configured to run a set of workloads (wloads) in each different target configuration of a specified set (confs). These wloads and confs can be specified by the \"experiments_conf\" input dictionary which is described below at **Experiments Configuration**.<br><br>\n",
+    "All the results generated by each experiment will be collected in a results folder. The format and content fo the results forlder is detailed in the last cell of **Tests execution** below.\n"
+   ]
+  },
+  {
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {
     "collapsed": false
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2016-12-08 11:58:22,693 INFO    : root         : Using LISA logging configuration:\n",
+      "2016-12-08 11:58:22,694 INFO    : root         :   /home/vagrant/lisa/logging.conf\n"
+     ]
+    }
+   ],
    "source": [
     "import logging\n",
+    "\n",
     "from conf import LisaLogging\n",
     "LisaLogging.setup()"
    ]
@@ -19,34 +44,10 @@
    "metadata": {
     "collapsed": false
    },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Populating the interactive namespace from numpy and matplotlib\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "%pylab inline\n",
-    "\n",
-    "import datetime\n",
-    "import devlib\n",
     "import os\n",
     "import json\n",
-    "import pandas as pd\n",
-    "import re\n",
-    "import subprocess\n",
-    "import trappy\n",
-    "from trappy.plotter.Utils import get_trace_event_data\n",
-    "\n",
-    "import matplotlib.gridspec as gridspec\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n",
-    "# Support to access the remote target\n",
-    "#import devlib\n",
-    "#from env import TestEnv\n",
     "\n",
     "from env import TestEnv\n",
     "from executor import Executor"
@@ -56,7 +57,9 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Target Configuration"
+    "## Target Configuration\n",
+    "The target configuration it's used to describe and configure your test environment.\n",
+    "You can find more details in **examples/utils/testenv_example.ipynb**."
    ]
   },
   {
@@ -65,118 +68,67 @@
    "metadata": {
     "collapsed": false
    },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "06:16:08  INFO    :         Target - Using base path: /home/bjackman/sources/lisa\n",
-      "06:16:08  INFO    :         Target - Loading custom (inline) target configuration\n",
-      "06:16:08  INFO    :         Target - Devlib modules to load: ['bl', 'cpufreq']\n",
-      "06:16:08  INFO    :         Target - Connecting linux target:\n",
-      "06:16:08  INFO    :         Target -   username : brendan\n",
-      "06:16:08  INFO    :         Target -       host : 192.168.0.1\n",
-      "06:16:08  INFO    :         Target -   password : \n",
-      "06:16:08  INFO    :         Target - Connection settings:\n",
-      "06:16:08  INFO    :         Target -    {'username': 'brendan', 'host': '192.168.0.1', 'password': ''}\n",
-      "06:16:14  INFO    :         Target - Initializing target workdir:\n",
-      "06:16:14  INFO    :         Target -    /home/brendan/devlib-target\n",
-      "06:16:18  INFO    :         Target - Topology:\n",
-      "06:16:18  INFO    :         Target -    [[0, 3, 4, 5], [1, 2]]\n",
-      "06:16:23  INFO    :         FTrace - Enabled tracepoints:\n",
-      "06:16:23  INFO    :         FTrace -   sched_switch\n",
-      "06:16:23  INFO    :         FTrace -   sched_wakeup\n",
-      "06:16:23  INFO    :         FTrace -   sched_wakeup_new\n",
-      "06:16:23  INFO    :         FTrace -   cpu_frequency\n",
-      "06:16:23  WARNING :        TestEnv - Wipe previous contents of the results folder:\n",
-      "06:16:23  WARNING :        TestEnv -    /home/bjackman/sources/lisa/results/ExecutorExample\n",
-      "06:16:23  INFO    :        TestEnv - Set results folder to:\n",
-      "06:16:23  INFO    :        TestEnv -    /home/bjackman/sources/lisa/results/ExecutorExample\n",
-      "06:16:23  INFO    :        TestEnv - Experiment results available also in:\n",
-      "06:16:23  INFO    :        TestEnv -    /home/bjackman/sources/lisa/results_latest\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Setup a target configuration\n",
-    "env = TestEnv({\n",
+    "my_target_conf = {\n",
     "    \n",
     "    # Target platform and board\n",
     "    \"platform\"    : 'linux',\n",
-    "    \"board\"       : 'aboard',\n",
+    "    \"board\"       : 'juno',\n",
     "    \n",
     "    # Target board IP/MAC address\n",
     "    \"host\"        : '192.168.0.1',\n",
     "    \n",
     "    # Login credentials\n",
-    "    \"username\"    : 'brendan',\n",
-    "    \"password\"    : '',\n",
-    "        \n",
-    "    # Folder where all the results will be collected\n",
-    "    \"results_dir\" : \"ExecutorExample\",\n",
-    "        \n",
-    "    # FTrace events to collect for all the tests configuration which have\n",
-    "    # the \"ftrace\" flag enabled\n",
-    "    \"ftrace\"  : {\n",
-    "         \"events\" : [\n",
-    "            \"sched_switch\",\n",
-    "            \"sched_wakeup\",\n",
-    "            \"sched_wakeup_new\",\n",
-    "            \"cpu_frequency\",\n",
-    "         ],\n",
-    "         \"buffsize\" : 80 * 1024,\n",
-    "    },\n",
-    "            \n",
-    "    # Tools required by the experiments\n",
-    "    \"tools\"   : [ 'trace-cmd', 'perf' ],\n",
-    "    \n",
-    "    # Modules required by these experiments\n",
-    "    \"modules\"     : [ 'bl', 'cpufreq' ],\n",
+    "    \"username\"    : 'root',\n",
+    "    \"password\"    : 'juno',\n",
     "\n",
-    "})"
+    "}"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Tests Configuration"
+    "## Experiments Configuration\n",
+    "\n",
+    "The experiments configuration defines the software setups that we need on our hardware target.<br>\n",
+    "This can be given as an argument to an Executor instance or to a TestEnv one.<br> <br>\n",
+    "Elements of the experiments configuration:\n",
+    " - **confs**: **mandatory** platform configurations  to be tested.\n",
+    "     - tag: relevant string to identify your configuration.\n",
+    "     - flags: ftrace (to enable ftrace events) is the only one supported at the moment.\n",
+    "     - sched_features: features to be added to /sys/kernel/debug/sched_features.\n",
+    "     - cpufreq: CpuFreq governor and tunables.\n",
+    "     - cgroups: CGroups configuration (controller). The default CGroup will be used otherwise.\n",
+    " - **wloads**: **mandatory** workloads to run on each platform configuration.\n",
+    " - **iterations**: number of iterations for each workload.\n",
+    " - **tools**: binary tools (available under ./tools/$ARCH/) to install by default; these will be merged with the ones in the target configuration.\n",
+    " - **ftrace**: FTrace events to collect for all the experiments configurations which have the \"ftrace\" flag enabled.\n",
+    " - **modules**: modules required by the experiments resulted from the experiments configurations.\n",
+    " - **exclude_modules** - modules to be disabled.\n",
+    " - **results_dir**: results directory - experiments configuration results directory overrides target one."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {
     "collapsed": false,
     "scrolled": false
    },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "06:16:23  INFO    :         Target - Loading custom (inline) test configuration\n",
-      "06:16:23  INFO    : \n",
-      "06:16:23  INFO    : ################################################################################\n",
-      "06:16:23  INFO    :       Executor - Experiments configuration\n",
-      "06:16:23  INFO    : ################################################################################\n",
-      "06:16:23  INFO    :       Executor - Configured to run:\n",
-      "06:16:23  INFO    :       Executor -     2 target configurations:\n",
-      "06:16:23  INFO    :       Executor -       base, eas\n",
-      "06:16:23  INFO    :       Executor -     2 workloads (1 iterations each)\n",
-      "06:16:23  INFO    :       Executor -       rta, perf\n",
-      "06:16:23  INFO    :       Executor - Total: 4 experiments\n",
-      "06:16:23  INFO    :       Executor - Results will be collected under:\n",
-      "06:16:23  INFO    :       Executor -       /home/bjackman/sources/lisa/results/ExecutorExample\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "executor = Executor(env, {\n",
-    "    # Platform configurations to test\n",
+    "my_experiments_conf = {\n",
+    "\n",
+    "    # Folder where all the results will be collected\n",
+    "    \"results_dir\" : \"ExecutorExample\",\n",
+    "\n",
+    "    # Platform configurations to test: you can specify any number of configurations\n",
     "    \"confs\" : [\n",
     "        {\n",
-    "            \"tag\"            : \"base\",\n",
+    "            \"tag\"            : \"base\",             # Relevant string to identify configuration\n",
     "            \"flags\"          : \"ftrace\",           # Enable FTrace events\n",
     "            \"sched_features\" : \"NO_ENERGY_AWARE\",  # Disable EAS\n",
     "            \"cpufreq\"        : {                   # Use PERFORMANCE CpuFreq\n",
@@ -184,7 +136,7 @@
     "            },\n",
     "        },\n",
     "        {\n",
-    "            \"tag\"            : \"eas\",\n",
+    "            \"tag\"            : \"eas\",              # Relevant string to identify configuration\n",
     "            \"flags\"          : \"ftrace\",           # Enable FTrace events\n",
     "            \"sched_features\" : \"ENERGY_AWARE\",     # Enable EAS\n",
     "            \"cpufreq\"        : {                   # Use PERFORMANCE CpuFreq\n",
@@ -226,21 +178,40 @@
     "        },\n",
     "    },\n",
     "    \n",
-    "    # Number of iterations for each workload\n",
+    "    # Number of iterations for each workloaditerations\n",
     "    \"iterations\" : 1,\n",
-    "})"
+    "    \n",
+    "    # FTrace events to collect for all the tests configuration which have\n",
+    "    # the \"ftrace\" flag enabled\n",
+    "    \"ftrace\"  : {\n",
+    "         \"events\" : [\n",
+    "            \"sched_switch\",\n",
+    "            \"sched_wakeup\",\n",
+    "            \"sched_wakeup_new\",\n",
+    "            \"cpu_frequency\",\n",
+    "         ],\n",
+    "         \"buffsize\" : 80 * 1024,\n",
+    "    },\n",
+    "    \n",
+    "    # Tools required by the experiments\n",
+    "    \"tools\"   : [ 'trace-cmd', 'perf' ],\n",
+    "    \n",
+    "    # Modules required by these experiments\n",
+    "    \"modules\"     : [ 'bl', 'cpufreq' ],\n",
+    "\n",
+    "}"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Tests execution"
+    "## Tests execution"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {
     "collapsed": false
    },
@@ -249,79 +220,122 @@
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "06:16:23  INFO    : \n",
-      "06:16:23  INFO    : ################################################################################\n",
-      "06:16:23  INFO    :       Executor - Experiments execution\n",
-      "06:16:23  INFO    : ################################################################################\n",
-      "06:16:23  INFO    : \n",
-      "06:16:23  INFO    : ================================================================================\n",
-      "06:16:23  INFO    :   TargetConfig - configuring target for [base] experiments\n",
-      "06:16:25  INFO    :  SchedFeatures - Set scheduler feature: NO_ENERGY_AWARE\n",
-      "06:16:26  INFO    :        CPUFreq - Configuring all CPUs to use [performance] governor\n",
-      "06:16:27  INFO    :          WlGen - Setup new workload rta\n",
-      "06:16:27  INFO    :          RTApp - Workload duration defined by longest task\n",
-      "06:16:27  INFO    :          RTApp - Default policy: SCHED_OTHER\n",
-      "06:16:27  INFO    :          RTApp - ------------------------\n",
-      "06:16:27  INFO    :          RTApp - task [task_p200], sched: using default policy\n",
-      "06:16:27  INFO    :          RTApp -  | calibration CPU: 1\n",
-      "06:16:27  INFO    :          RTApp -  | loops count: 1\n",
-      "06:16:27  INFO    :          RTApp - + phase_000001: duration 1.000000 [s] (10 loops)\n",
-      "06:16:27  INFO    :          RTApp - |  period   100000 [us], duty_cycle  20 %\n",
-      "06:16:27  INFO    :          RTApp - |  run_time  20000 [us], sleep_time  80000 [us]\n",
-      "06:16:28  INFO    :          WlGen - Setup new workload perf\n",
-      "06:16:28  INFO    : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
-      "06:16:28  INFO    :       Executor - Experiment 0/4, [base:rta] 1/1\n",
-      "06:16:28  WARNING :       Executor - FTrace events collection enabled\n",
-      "06:16:36  INFO    :          WlGen - Workload execution START:\n",
-      "06:16:36  INFO    :          WlGen -    /home/brendan/devlib-target/bin/rt-app /home/brendan/devlib-target/run_dir/rta_00.json 2>&1\n",
-      "06:16:44  INFO    :       Executor - Collected FTrace binary trace:\n",
-      "06:16:44  INFO    :       Executor -    <res_dir>/rtapp:base:rta/1/trace.dat\n",
-      "06:16:44  INFO    :       Executor - Collected FTrace function profiling:\n",
-      "06:16:44  INFO    :       Executor -    <res_dir>/rtapp:base:rta/1/trace_stat.json\n",
-      "06:16:44  INFO    : --------------------------------------------------------------------------------\n",
-      "06:16:44  INFO    : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
-      "06:16:44  INFO    :       Executor - Experiment 1/4, [base:perf] 1/1\n",
-      "06:16:44  WARNING :       Executor - FTrace events collection enabled\n",
-      "06:16:52  INFO    :          WlGen - Workload execution START:\n",
-      "06:16:52  INFO    :          WlGen -    /home/brendan/devlib-target/bin/perf bench sched messaging --pipe --thread --group 1 --loop 10\n",
-      "06:16:53  INFO    :      PerfBench - Completion time: 0.007000, Performance 142.857143\n",
-      "06:16:58  INFO    :       Executor - Collected FTrace binary trace:\n",
-      "06:16:58  INFO    :       Executor -    <res_dir>/perf_bench_messaging:base:perf/1/trace.dat\n",
-      "06:16:58  INFO    :       Executor - Collected FTrace function profiling:\n",
-      "06:16:58  INFO    :       Executor -    <res_dir>/perf_bench_messaging:base:perf/1/trace_stat.json\n",
-      "06:16:58  INFO    : --------------------------------------------------------------------------------\n",
-      "06:16:58  INFO    : \n",
-      "06:16:58  INFO    : ================================================================================\n",
-      "06:16:58  INFO    :   TargetConfig - configuring target for [eas] experiments\n",
-      "06:17:00  INFO    :  SchedFeatures - Set scheduler feature: ENERGY_AWARE\n",
-      "06:17:01  INFO    :        CPUFreq - Configuring all CPUs to use [performance] governor\n",
-      "06:17:02  INFO    :          WlGen - Setup new workload rta\n",
-      "06:17:02  INFO    :          RTApp - Workload duration defined by longest task\n",
-      "06:17:02  INFO    :          RTApp - Default policy: SCHED_OTHER\n",
-      "06:17:02  INFO    :          RTApp - ------------------------\n",
-      "06:17:02  INFO    :          RTApp - task [task_p200], sched: using default policy\n",
-      "06:17:02  INFO    :          RTApp -  | calibration CPU: 1\n",
-      "06:17:02  INFO    :          RTApp -  | loops count: 1\n",
-      "06:17:02  INFO    :          RTApp - + phase_000001: duration 1.000000 [s] (10 loops)\n",
-      "06:17:02  INFO    :          RTApp - |  period   100000 [us], duty_cycle  20 %\n",
-      "06:17:02  INFO    :          RTApp - |  run_time  20000 [us], sleep_time  80000 [us]\n",
-      "06:17:03  INFO    :          WlGen - Setup new workload perf\n",
-      "06:17:03  INFO    : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
-      "06:17:03  INFO    :       Executor - Experiment 0/4, [base:rta] 1/1\n",
-      "06:17:03  WARNING :       Executor - FTrace events collection enabled\n",
-      "06:17:11  INFO    :          WlGen - Workload execution START:\n",
-      "06:17:11  INFO    :          WlGen -    /home/brendan/devlib-target/bin/rt-app /home/brendan/devlib-target/run_dir/rta_00.json 2>&1\n",
-      "06:17:19  INFO    :       Executor - Collected FTrace binary trace:\n",
-      "06:17:19  INFO    :       Executor -    <res_dir>/rtapp:base:rta/1/trace.dat\n",
-      "06:17:19  INFO    :       Executor - Collected FTrace function profiling:\n",
-      "06:17:19  INFO    :       Executor -    <res_dir>/rtapp:base:rta/1/trace_stat.json\n",
-      "06:17:19  INFO    : --------------------------------------------------------------------------------\n",
-      "06:17:19  INFO    : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
-      "06:17:19  INFO    :       Executor - Experiment 1/4, [base:perf] 1/1\n",
-      "06:17:19  WARNING :       Executor - FTrace events collection enabled\n",
-      "06:17:27  INFO    :          WlGen - Workload execution START:\n",
-      "06:17:27  INFO    :          WlGen -    /home/brendan/devlib-target/bin/perf bench sched messaging --pipe --thread --group 1 --loop 10\n",
-      "06:17:28  INFO    :      PerfBench - Completion time: 0.034000, Performance 29.411765\n"
+      "2016-12-07 10:17:28,037 INFO    : TestEnv      : Using base path: /home/vagrant/lisa\n",
+      "2016-12-07 10:17:28,039 INFO    : TestEnv      : Loading custom (inline) target configuration\n",
+      "2016-12-07 10:17:28,039 INFO    : TestEnv      : Devlib modules to load: ['bl', 'hwmon', 'cpufreq']\n",
+      "2016-12-07 10:17:28,040 INFO    : TestEnv      : Connecting linux target:\n",
+      "2016-12-07 10:17:28,040 INFO    : TestEnv      :   username : root\n",
+      "2016-12-07 10:17:28,041 INFO    : TestEnv      :       host : 192.168.0.1\n",
+      "2016-12-07 10:17:28,041 INFO    : TestEnv      :   password : juno\n",
+      "2016-12-07 10:17:28,041 INFO    : TestEnv      : Connection settings:\n",
+      "2016-12-07 10:17:28,042 INFO    : TestEnv      :    {'username': 'root', 'host': '192.168.0.1', 'password': 'juno'}\n",
+      "2016-12-07 10:17:45,282 INFO    : TestEnv      : Initializing target workdir:\n",
+      "2016-12-07 10:17:45,283 INFO    : TestEnv      :    /root/devlib-target\n",
+      "2016-12-07 10:17:51,006 INFO    : TestEnv      : Topology:\n",
+      "2016-12-07 10:17:51,007 INFO    : TestEnv      :    [[0, 3, 4, 5], [1, 2]]\n",
+      "2016-12-07 10:17:52,248 INFO    : EnergyMeter  : Scanning for HWMON channels, may take some time...\n",
+      "2016-12-07 10:17:52,250 INFO    : EnergyMeter  : Channels selected for energy sampling:\n",
+      "2016-12-07 10:17:52,250 INFO    : EnergyMeter  :    BOARDBIG_energy\n",
+      "2016-12-07 10:17:52,251 INFO    : EnergyMeter  :    BOARDLITTLE_energy\n",
+      "2016-12-07 10:17:52,251 INFO    : TestEnv      : Set results folder to:\n",
+      "2016-12-07 10:17:52,251 INFO    : TestEnv      :    /home/vagrant/lisa/results/20161207_101752\n",
+      "2016-12-07 10:17:52,252 INFO    : TestEnv      : Experiment results available also in:\n",
+      "2016-12-07 10:17:52,252 INFO    : TestEnv      :    /home/vagrant/lisa/results_latest\n",
+      "2016-12-07 10:17:52,253 INFO    : Executor     : Loading custom (inline) test configuration\n",
+      "2016-12-07 10:17:52,253 INFO    : Executor     : \n",
+      "2016-12-07 10:17:52,254 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:17:52,254 INFO    : Executor     : Experiments configuration\n",
+      "2016-12-07 10:17:52,254 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:17:52,255 INFO    : Executor     : Configured to run:\n",
+      "2016-12-07 10:17:52,255 INFO    : Executor     :      2 target configurations:\n",
+      "2016-12-07 10:17:52,256 INFO    : Executor     :       base, eas\n",
+      "2016-12-07 10:17:52,256 INFO    : Executor     :      2 workloads (1 iterations each)\n",
+      "2016-12-07 10:17:52,257 INFO    : Executor     :       rta, perf\n",
+      "2016-12-07 10:17:52,257 INFO    : Executor     : Total: 4 experiments\n",
+      "2016-12-07 10:17:52,257 INFO    : Executor     : Results will be collected under:\n",
+      "2016-12-07 10:17:52,258 INFO    : Executor     :       /home/vagrant/lisa/results/20161207_101752\n"
+     ]
+    }
+   ],
+   "source": [
+    "executor = Executor(TestEnv(my_target_conf), my_experiments_conf)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "2016-12-07 10:17:59,239 INFO    : Executor     : \n",
+      "2016-12-07 10:17:59,239 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:17:59,240 INFO    : Executor     : Experiments execution\n",
+      "2016-12-07 10:17:59,240 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:17:59,241 INFO    : Executor     : \n",
+      "2016-12-07 10:17:59,241 INFO    : Executor     : ================================================================================\n",
+      "2016-12-07 10:17:59,241 INFO    : Executor     : configuring target for [base] experiments\n",
+      "2016-12-07 10:18:00,663 INFO    : Executor     : Set scheduler feature: NO_ENERGY_AWARE\n",
+      "2016-12-07 10:18:01,469 INFO    : Executor     : Configuring all CPUs to use [performance] cpufreq governor\n",
+      "2016-12-07 10:18:02,274 INFO    : Workload     : Setup new workload rta\n",
+      "2016-12-07 10:18:02,274 INFO    : Workload     : Workload duration defined by longest task\n",
+      "2016-12-07 10:18:02,275 INFO    : Workload     : Default policy: SCHED_OTHER\n",
+      "2016-12-07 10:18:02,275 INFO    : Workload     : ------------------------\n",
+      "2016-12-07 10:18:02,276 INFO    : Workload     : task [task_p200], sched: using default policy\n",
+      "2016-12-07 10:18:02,276 INFO    : Workload     :  | calibration CPU: 1\n",
+      "2016-12-07 10:18:02,277 INFO    : Workload     :  | loops count: 1\n",
+      "2016-12-07 10:18:02,277 INFO    : Workload     : + phase_000001: duration 1.000000 [s] (10 loops)\n",
+      "2016-12-07 10:18:02,278 INFO    : Workload     : |  period   100000 [us], duty_cycle  20 %\n",
+      "2016-12-07 10:18:02,278 INFO    : Workload     : |  run_time  20000 [us], sleep_time  80000 [us]\n",
+      "2016-12-07 10:18:05,732 INFO    : Executor     : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
+      "2016-12-07 10:18:05,734 INFO    : Executor     : Experiment 0/4, [base:rta] 1/1\n",
+      "2016-12-07 10:18:06,361 INFO    : Workload     : Workload execution START:\n",
+      "2016-12-07 10:18:06,363 INFO    : Workload     :    /root/devlib-target/bin/rt-app /root/devlib-target/run_dir/rta_00.json 2>&1\n",
+      "2016-12-07 10:18:13,384 INFO    : Executor     : --------------------------------------------------------------------------------\n",
+      "2016-12-07 10:18:13,386 INFO    : Workload     : Setup new workload perf\n",
+      "2016-12-07 10:18:13,712 INFO    : Executor     : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
+      "2016-12-07 10:18:13,712 INFO    : Executor     : Experiment 1/4, [base:perf] 1/1\n",
+      "2016-12-07 10:18:14,337 INFO    : Workload     : Workload execution START:\n",
+      "2016-12-07 10:18:14,338 INFO    : Workload     :    /root/devlib-target/bin/perf bench sched messaging --pipe --thread --group 1 --loop 10\n",
+      "2016-12-07 10:18:14,664 INFO    : perf_bench   :      PerfBench - Completion time: 0.010000, Performance 100.000000\n",
+      "2016-12-07 10:18:15,286 INFO    : Executor     : --------------------------------------------------------------------------------\n",
+      "2016-12-07 10:18:15,288 INFO    : Executor     : \n",
+      "2016-12-07 10:18:15,290 INFO    : Executor     : ================================================================================\n",
+      "2016-12-07 10:18:15,292 INFO    : Executor     : configuring target for [eas] experiments\n",
+      "2016-12-07 10:18:16,713 INFO    : Executor     : Set scheduler feature: ENERGY_AWARE\n",
+      "2016-12-07 10:18:17,519 INFO    : Executor     : Configuring all CPUs to use [performance] cpufreq governor\n",
+      "2016-12-07 10:18:18,325 INFO    : Workload     : Setup new workload rta\n",
+      "2016-12-07 10:18:18,326 INFO    : Workload     : Workload duration defined by longest task\n",
+      "2016-12-07 10:18:18,327 INFO    : Workload     : Default policy: SCHED_OTHER\n",
+      "2016-12-07 10:18:18,329 INFO    : Workload     : ------------------------\n",
+      "2016-12-07 10:18:18,330 INFO    : Workload     : task [task_p200], sched: using default policy\n",
+      "2016-12-07 10:18:18,331 INFO    : Workload     :  | calibration CPU: 1\n",
+      "2016-12-07 10:18:18,332 INFO    : Workload     :  | loops count: 1\n",
+      "2016-12-07 10:18:18,332 INFO    : Workload     : + phase_000001: duration 1.000000 [s] (10 loops)\n",
+      "2016-12-07 10:18:18,333 INFO    : Workload     : |  period   100000 [us], duty_cycle  20 %\n",
+      "2016-12-07 10:18:18,333 INFO    : Workload     : |  run_time  20000 [us], sleep_time  80000 [us]\n",
+      "2016-12-07 10:18:21,414 INFO    : Executor     : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
+      "2016-12-07 10:18:21,415 INFO    : Executor     : Experiment 2/4, [eas:rta] 1/1\n",
+      "2016-12-07 10:18:22,043 INFO    : Workload     : Workload execution START:\n",
+      "2016-12-07 10:18:22,045 INFO    : Workload     :    /root/devlib-target/bin/rt-app /root/devlib-target/run_dir/rta_00.json 2>&1\n",
+      "2016-12-07 10:18:28,802 INFO    : Executor     : --------------------------------------------------------------------------------\n",
+      "2016-12-07 10:18:28,806 INFO    : Workload     : Setup new workload perf\n",
+      "2016-12-07 10:18:29,134 INFO    : Executor     : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n",
+      "2016-12-07 10:18:29,135 INFO    : Executor     : Experiment 3/4, [eas:perf] 1/1\n",
+      "2016-12-07 10:18:29,760 INFO    : Workload     : Workload execution START:\n",
+      "2016-12-07 10:18:29,761 INFO    : Workload     :    /root/devlib-target/bin/perf bench sched messaging --pipe --thread --group 1 --loop 10\n",
+      "2016-12-07 10:18:30,089 INFO    : perf_bench   :      PerfBench - Completion time: 0.009000, Performance 111.111111\n",
+      "2016-12-07 10:18:30,710 INFO    : Executor     : --------------------------------------------------------------------------------\n",
+      "2016-12-07 10:18:30,712 INFO    : Executor     : \n",
+      "2016-12-07 10:18:30,714 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:18:30,715 INFO    : Executor     : Experiments execution completed\n",
+      "2016-12-07 10:18:30,716 INFO    : Executor     : ################################################################################\n",
+      "2016-12-07 10:18:30,716 INFO    : Executor     : Results available in:\n",
+      "2016-12-07 10:18:30,717 INFO    : Executor     :       /home/vagrant/lisa/results/20161207_101752\n"
      ]
     }
    ],
@@ -340,38 +354,38 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\u001b[01;34m/home/brejac01/sources/lisa/results/ExecutorExample\u001b[00m\r\n",
-      "├── \u001b[01;34mperf_bench_messaging:base:perf\u001b[00m\r\n",
-      "│   ├── \u001b[01;34m1\u001b[00m\r\n",
+      "/home/vagrant/lisa/results/20161207_101752\r\n",
+      "├── perf_bench_messaging:base:perf\r\n",
+      "│   ├── 1\r\n",
+      "│   │   ├── energy.json\r\n",
       "│   │   ├── output.log\r\n",
-      "│   │   ├── performance.json\r\n",
-      "│   │   └── trace.dat\r\n",
+      "│   │   └── performance.json\r\n",
       "│   ├── kernel.config\r\n",
       "│   ├── kernel.version\r\n",
       "│   └── platform.json\r\n",
-      "├── \u001b[01;34mperf_bench_messaging:eas:perf\u001b[00m\r\n",
-      "│   ├── \u001b[01;34m1\u001b[00m\r\n",
+      "├── perf_bench_messaging:eas:perf\r\n",
+      "│   ├── 1\r\n",
+      "│   │   ├── energy.json\r\n",
       "│   │   ├── output.log\r\n",
-      "│   │   ├── performance.json\r\n",
-      "│   │   └── trace.dat\r\n",
+      "│   │   └── performance.json\r\n",
       "│   ├── kernel.config\r\n",
       "│   ├── kernel.version\r\n",
       "│   └── platform.json\r\n",
-      "├── \u001b[01;34mrtapp:base:rta\u001b[00m\r\n",
-      "│   ├── \u001b[01;34m1\u001b[00m\r\n",
+      "├── rtapp:base:rta\r\n",
+      "│   ├── 1\r\n",
+      "│   │   ├── energy.json\r\n",
       "│   │   ├── output.log\r\n",
       "│   │   ├── rta_00.json\r\n",
-      "│   │   ├── rt-app-task_p200-0.log\r\n",
-      "│   │   └── trace.dat\r\n",
+      "│   │   └── rt-app-task_p200-0.log\r\n",
       "│   ├── kernel.config\r\n",
       "│   ├── kernel.version\r\n",
       "│   └── platform.json\r\n",
-      "└── \u001b[01;34mrtapp:eas:rta\u001b[00m\r\n",
-      "    ├── \u001b[01;34m1\u001b[00m\r\n",
+      "└── rtapp:eas:rta\r\n",
+      "    ├── 1\r\n",
+      "    │   ├── energy.json\r\n",
       "    │   ├── output.log\r\n",
       "    │   ├── rta_00.json\r\n",
-      "    │   ├── rt-app-task_p200-0.log\r\n",
-      "    │   └── trace.dat\r\n",
+      "    │   └── rt-app-task_p200-0.log\r\n",
       "    ├── kernel.config\r\n",
       "    ├── kernel.version\r\n",
       "    └── platform.json\r\n",