blob: a14398b8129a26fe53c74a749a454cf9906e34a9 [file] [log] [blame]
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import logging\n",
"reload(logging)\n",
"logging.basicConfig(\n",
" format='%(asctime)-9s %(levelname)-8s: %(message)s',\n",
" datefmt='%I:%M:%S')\n",
"\n",
"# Enable logging at INFO level\n",
"logging.getLogger().setLevel(logging.INFO)\n",
"# Comment the follwing line to disable devlib debugging statements\n",
"# logging.getLogger('ssh').setLevel(logging.DEBUG)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"# Generate plots inline\n",
"%pylab inline\n",
"\n",
"import json\n",
"import os"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test environment setup"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Setup a target configuration\n",
"my_target_conf = {\n",
" \n",
" # Define the kind of target platform to use for the experiments\n",
" \"platform\" : 'linux', # Linux system, valid other options are:\n",
" # android - access via ADB\n",
" # linux - access via SSH\n",
" # host - direct access\n",
" \n",
" # Preload settings for a specific target\n",
" \"board\" : 'juno', # load JUNO specific settings, e.g.\n",
" # - HWMON based energy sampling\n",
" # - Juno energy model\n",
" # valid options are:\n",
" # - juno - JUNO Development Board\n",
" # - tc2 - TC2 Development Board\n",
" # - oak - Mediatek MT63xx based target\n",
"\n",
" # Define devlib module to load\n",
" #\"modules\" : [\n",
" # 'bl', # enable big.LITTLE support\n",
" # 'cpufreq' # enable CPUFreq support\n",
" #],\n",
"\n",
" # Account to access the remote target\n",
" \"host\" : '192.168.0.1',\n",
" \"username\" : 'root',\n",
" \"password\" : '',\n",
"\n",
" # Comment the following line to force rt-app calibration on your target\n",
" \"rtapp-calib\" : {\n",
" '0': 361, '1': 138, '2': 138, '3': 352, '4': 360, '5': 353\n",
" }\n",
"\n",
"}\n",
"\n",
"# Setup the required Test Environment supports\n",
"my_tests_conf = {\n",
" \n",
" # Binary tools required to run this experiment\n",
" # These tools must be present in the tools/ folder for the architecture\n",
" #\"tools\" : ['rt-app', 'taskset', 'trace-cmd'],\n",
" \n",
" # FTrace events end buffer configuration\n",
" \"ftrace\" : {\n",
" \"events\" : [\n",
" \"sched_switch\",\n",
" \"cpu_frequency\"\n",
" ],\n",
" \"buffsize\" : 10240\n",
" },\n",
"\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:28:57 INFO : Target - Using base path: /home/derkling/Code/lisa\n",
"06:28:57 INFO : Target - Loading custom (inline) target configuration\n",
"06:28:57 INFO : Target - Loading custom (inline) test configuration\n",
"06:28:57 INFO : Target - Devlib modules to load: ['bl', 'hwmon', 'cpufreq']\n",
"06:28:57 INFO : Target - Connecting linux target:\n",
"06:28:57 INFO : Target - username : root\n",
"06:28:57 INFO : Target - host : 192.168.0.1\n",
"06:28:57 INFO : Target - password : \n",
"06:29:34 INFO : Target - Initializing target workdir:\n",
"06:29:34 INFO : Target - /root/devlib-target\n",
"06:29:37 INFO : Target - Topology:\n",
"06:29:37 INFO : Target - [[0, 3, 4, 5], [1, 2]]\n",
"06:29:39 INFO : Platform - Loading default EM:\n",
"06:29:39 INFO : Platform - /home/derkling/Code/lisa/libs/utils/platforms/juno.json\n",
"06:29:40 INFO : FTrace - Enabled tracepoints:\n",
"06:29:40 INFO : FTrace - sched_switch\n",
"06:29:40 INFO : FTrace - cpu_frequency\n",
"06:29:40 INFO : EnergyMeter - Scanning for HWMON channels, may take some time...\n",
"06:29:40 INFO : EnergyMeter - Channels selected for energy sampling:\n",
"06:29:40 INFO : EnergyMeter - a57_energy\n",
"06:29:40 INFO : EnergyMeter - a53_energy\n",
"06:29:40 INFO : TestEnv - Set results folder to:\n",
"06:29:40 INFO : TestEnv - /home/derkling/Code/lisa/results/20160225_182940\n",
"06:29:40 INFO : TestEnv - Experiment results available also in:\n",
"06:29:40 INFO : TestEnv - /home/derkling/Code/lisa/results_latest\n"
]
}
],
"source": [
"# Support to access the remote target\n",
"import devlib\n",
"from env import TestEnv\n",
"\n",
"# Initialize a test environment using:\n",
"# the provided target configuration (my_target_conf)\n",
"# the provided test configuration (my_test_conf)\n",
"te = TestEnv(target_conf=my_target_conf, test_conf=my_tests_conf)\n",
"target = te.target"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Workload configuration"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:40 INFO : WlGen - Setup new workload simple\n",
"06:29:40 INFO : RTApp - Workload duration defined by longest task\n",
"06:29:40 INFO : RTApp - Default policy: SCHED_OTHER\n",
"06:29:40 INFO : RTApp - ------------------------\n",
"06:29:40 INFO : RTApp - task [task_p20], sched: using default policy\n",
"06:29:40 INFO : RTApp - | calibration CPU: 1\n",
"06:29:40 INFO : RTApp - | loops count: 1\n",
"06:29:40 INFO : RTApp - | CPUs affinity: 0\n",
"06:29:40 INFO : RTApp - + phase_000001: duration 5.000000 [s] (50 loops)\n",
"06:29:40 INFO : RTApp - | period 100000 [us], duty_cycle 20 %\n",
"06:29:40 INFO : RTApp - | run_time 20000 [us], sleep_time 80000 [us]\n",
"06:29:40 INFO : RTApp - ------------------------\n",
"06:29:40 INFO : RTApp - task [task_r20_5-60], sched: using default policy\n",
"06:29:40 INFO : RTApp - | calibration CPU: 1\n",
"06:29:40 INFO : RTApp - | loops count: 1\n",
"06:29:40 INFO : RTApp - | CPUs affinity: 5\n",
"06:29:40 INFO : RTApp - + phase_000001: duration 1.000000 [s] (10 loops)\n",
"06:29:40 INFO : RTApp - | period 100000 [us], duty_cycle 5 %\n",
"06:29:40 INFO : RTApp - | run_time 5000 [us], sleep_time 95000 [us]\n",
"06:29:40 INFO : RTApp - + phase_000002: duration 1.000000 [s] (10 loops)\n",
"06:29:40 INFO : RTApp - | period 100000 [us], duty_cycle 25 %\n",
"06:29:40 INFO : RTApp - | run_time 25000 [us], sleep_time 75000 [us]\n",
"06:29:40 INFO : RTApp - + phase_000003: duration 1.000000 [s] (10 loops)\n",
"06:29:40 INFO : RTApp - | period 100000 [us], duty_cycle 45 %\n",
"06:29:40 INFO : RTApp - | run_time 45000 [us], sleep_time 55000 [us]\n",
"06:29:40 INFO : RTApp - + phase_000004: duration 1.000000 [s] (10 loops)\n",
"06:29:40 INFO : RTApp - | period 100000 [us], duty_cycle 65 %\n",
"06:29:40 INFO : RTApp - | run_time 65000 [us], sleep_time 35000 [us]\n"
]
}
],
"source": [
"# Support to configure and run RTApp based workloads\n",
"from wlgen import RTA, Periodic, Ramp\n",
"\n",
"# Create a new RTApp workload generator using the calibration values\n",
"# reported by the TestEnv module\n",
"rtapp = RTA(target, 'simple', calibration=te.calibration())\n",
"\n",
"# Configure this RTApp instance to:\n",
"rtapp.conf(\n",
" # 1. generate a \"profile based\" set of tasks\n",
" kind='profile',\n",
" \n",
" # 2. define the \"profile\" of each task\n",
" params={\n",
" \n",
" # 3. PERIODIC task with\n",
" 'task_p20': Periodic(\n",
" period_ms=100, # period\n",
" duty_cycle_pct=20, # duty cycle\n",
" duration_s=5, # duration \n",
" cpus='0' # pinned on CPU0\n",
" ).get(),\n",
" \n",
" # 4. RAMP task (i.e. increasing load) with\n",
" 'task_r20_5-60': Ramp(\n",
" start_pct=5, # intial load\n",
" end_pct=65, # end load\n",
" delta_pct=20, # load % increase...\n",
" time_s=1, # ... every 1[s]\n",
" # pinned on last CPU of the target\n",
" cpus=str(len(target.core_names)-1)\n",
" ).get(),\n",
" },\n",
" \n",
" # 4. use this folder for task logfiles\n",
" run_dir=target.working_directory\n",
" \n",
");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Workload execution"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:40 INFO : #### Setup FTrace\n",
"06:29:43 INFO : #### Start energy sampling\n",
"06:29:44 INFO : #### Start RTApp execution\n",
"06:29:44 INFO : WlGen - Workload execution START:\n",
"06:29:44 INFO : WlGen - /root/devlib-target/bin/rt-app /root/devlib-target/simple_00.json\n",
"06:29:50 INFO : #### Read energy consumption: /home/derkling/Code/lisa/results/20160225_182940/energy.json\n",
"06:29:51 INFO : EnergyReport - Energy [ a53]: 9.734375\n",
"06:29:51 INFO : EnergyReport - Energy [ a57]: 4.190309\n",
"06:29:51 INFO : #### Stop FTrace\n",
"06:29:52 INFO : #### Save FTrace: /home/derkling/Code/lisa/results/20160225_182940/trace.dat\n",
"06:29:54 INFO : #### Save platform description: /home/derkling/Code/lisa/results/20160225_182940/platform.json\n"
]
}
],
"source": [
"logging.info('#### Setup FTrace')\n",
"te.ftrace.start()\n",
"\n",
"logging.info('#### Start energy sampling')\n",
"te.emeter.reset()\n",
"\n",
"logging.info('#### Start RTApp execution')\n",
"rtapp.run(out_dir=te.res_dir, cgroup=\"\")\n",
"\n",
"logging.info('#### Read energy consumption: %s/energy.json', te.res_dir)\n",
"nrg_report = te.emeter.report(out_dir=te.res_dir)\n",
"\n",
"logging.info('#### Stop FTrace')\n",
"te.ftrace.stop()\n",
"\n",
"trace_file = os.path.join(te.res_dir, 'trace.dat')\n",
"logging.info('#### Save FTrace: %s', trace_file)\n",
"te.ftrace.get_trace(trace_file)\n",
"\n",
"logging.info('#### Save platform description: %s/platform.json', te.res_dir)\n",
"(plt, plt_file) = te.platform_dump(te.res_dir)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Collected results"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:54 INFO : Content of the output folder /home/derkling/Code/lisa/results/20160225_182940\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"total 4064\r\n",
"drwxrwxr-x 2 derkling derkling 4096 Feb 25 18:29 .\r\n",
"drwxrwxr-x 99 derkling derkling 4096 Feb 25 18:29 ..\r\n",
"-rw-rw-r-- 1 derkling derkling 52 Feb 25 18:29 energy.json\r\n",
"-rw-rw-r-- 1 derkling derkling 450 Feb 25 18:29 output.log\r\n",
"-rw-rw-r-- 1 derkling derkling 1075 Feb 25 18:29 platform.json\r\n",
"-rw-r--r-- 1 derkling derkling 6360 Feb 25 18:29 rt-app-task_p20-0.log\r\n",
"-rw-r--r-- 1 derkling derkling 6360 Feb 25 18:29 rt-app-task_p20-3.log\r\n",
"-rw-r--r-- 1 derkling derkling 5120 Feb 25 18:29 rt-app-task_r20_5-60-1.log\r\n",
"-rw-r--r-- 1 derkling derkling 3880 Feb 25 18:29 rt-app-task_r20_5-60-3.log\r\n",
"-rw-r--r-- 1 derkling derkling 3880 Feb 25 18:29 rt-app-task_r20_5-60-6.log\r\n",
"-rw-r--r-- 1 derkling derkling 1831 Feb 25 18:29 simple_00.json\r\n",
"-rw-r--r-- 1 derkling derkling 4104192 Feb 25 18:29 trace.dat\r\n"
]
}
],
"source": [
"# All data are produced in the output folder defined by the TestEnv module\n",
"logging.info('Content of the output folder %s', te.res_dir)\n",
"!ls -la {te.res_dir}"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:54 INFO : Generated RTApp JSON file:\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"global\": {\n",
" \"calibration\": \"CPU1\", \n",
" \"default_policy\": \"SCHED_OTHER\", \n",
" \"duration\": -1, \n",
" \"logdir\": \"/root/devlib-target\"\n",
" }, \n",
" \"tasks\": {\n",
" \"task_p20\": {\n",
" \"cpus\": [\n",
" 0\n",
" ], \n",
" \"loop\": 1, \n",
" \"phases\": {\n",
" \"p000001\": {\n",
" \"loop\": 50, \n",
" \"run\": 20000, \n",
" \"timer\": {\n",
" \"period\": 100000, \n",
" \"ref\": \"task_p20\"\n",
" }\n",
" }\n",
" }, \n",
" \"policy\": \"SCHED_OTHER\"\n",
" }, \n",
" \"task_r20_5-60\": {\n",
" \"cpus\": [\n",
" 5\n",
" ], \n",
" \"loop\": 1, \n",
" \"phases\": {\n",
" \"p000001\": {\n",
" \"loop\": 10, \n",
" \"run\": 5000, \n",
" \"timer\": {\n",
" \"period\": 100000, \n",
" \"ref\": \"task_r20_5-60\"\n",
" }\n",
" }, \n",
" \"p000002\": {\n",
" \"loop\": 10, \n",
" \"run\": 25000, \n",
" \"timer\": {\n",
" \"period\": 100000, \n",
" \"ref\": \"task_r20_5-60\"\n",
" }\n",
" }, \n",
" \"p000003\": {\n",
" \"loop\": 10, \n",
" \"run\": 45000, \n",
" \"timer\": {\n",
" \"period\": 100000, \n",
" \"ref\": \"task_r20_5-60\"\n",
" }\n",
" }, \n",
" \"p000004\": {\n",
" \"loop\": 10, \n",
" \"run\": 65000, \n",
" \"timer\": {\n",
" \"period\": 100000, \n",
" \"ref\": \"task_r20_5-60\"\n",
" }\n",
" }\n",
" }, \n",
" \"policy\": \"SCHED_OTHER\"\n",
" }\n",
" }\n",
"}\n"
]
}
],
"source": [
"# Inspect the JSON file used to run the application\n",
"with open('{}/simple_00.json'.format(te.res_dir), 'r') as fh:\n",
" rtapp_json = json.load(fh, )\n",
"logging.info('Generated RTApp JSON file:')\n",
"print json.dumps(rtapp_json, indent=4, sort_keys=True)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:54 INFO : Energy: /home/derkling/Code/lisa/results/20160225_182940/energy.json\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"LITTLE\": \"9.734375\", \n",
" \"big\": \"4.190309\"\n",
"}\n"
]
}
],
"source": [
"# Dump the energy measured for the LITTLE and big clusters\n",
"logging.info('Energy: %s', nrg_report.report_file)\n",
"print json.dumps(nrg_report.channels, indent=4, sort_keys=True)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:54 INFO : Platform description: /home/derkling/Code/lisa/results/20160225_182940/platform.json\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{\n",
" \"clusters\": {\n",
" \"big\": [\n",
" 1, \n",
" 2\n",
" ], \n",
" \"little\": [\n",
" 0, \n",
" 3, \n",
" 4, \n",
" 5\n",
" ]\n",
" }, \n",
" \"cpus_count\": 6, \n",
" \"freqs\": {\n",
" \"big\": [\n",
" 450000, \n",
" 625000, \n",
" 800000, \n",
" 950000, \n",
" 1100000\n",
" ], \n",
" \"little\": [\n",
" 450000, \n",
" 575000, \n",
" 700000, \n",
" 775000, \n",
" 850000\n",
" ]\n",
" }, \n",
" \"nrg_model\": {\n",
" \"big\": {\n",
" \"cluster\": {\n",
" \"nrg_max\": 64\n",
" }, \n",
" \"cpu\": {\n",
" \"cap_max\": 1024, \n",
" \"nrg_max\": 616\n",
" }\n",
" }, \n",
" \"little\": {\n",
" \"cluster\": {\n",
" \"nrg_max\": 57\n",
" }, \n",
" \"cpu\": {\n",
" \"cap_max\": 447, \n",
" \"nrg_max\": 93\n",
" }\n",
" }\n",
" }, \n",
" \"topology\": [\n",
" [\n",
" 0, \n",
" 3, \n",
" 4, \n",
" 5\n",
" ], \n",
" [\n",
" 1, \n",
" 2\n",
" ]\n",
" ]\n",
"}\n"
]
}
],
"source": [
"# Dump the platform descriptor, which could be useful for further analysis\n",
"# of the generated results\n",
"logging.info('Platform description: %s', plt_file)\n",
"print json.dumps(plt, indent=4, sort_keys=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Trace inspection"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"/*\n",
"\n",
" * Copyright 2015-2016 ARM Limited\n",
"\n",
" *\n",
"\n",
" * Licensed under the Apache License, Version 2.0 (the \"License\");\n",
"\n",
" * you may not use this file except in compliance with the License.\n",
"\n",
" * You may obtain a copy of the License at\n",
"\n",
" *\n",
"\n",
" * http://www.apache.org/licenses/LICENSE-2.0\n",
"\n",
" *\n",
"\n",
" * Unless required by applicable law or agreed to in writing, software\n",
"\n",
" * distributed under the License is distributed on an \"AS IS\" BASIS,\n",
"\n",
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
"\n",
" * See the License for the specific language governing permissions and\n",
"\n",
" * limitations under the License.\n",
"\n",
" */\n",
"\n",
"\n",
"\n",
".d3-tip {\n",
"\n",
" line-height: 1;\n",
"\n",
" padding: 12px;\n",
"\n",
" background: rgba(0, 0, 0, 0.6);\n",
"\n",
" color: #fff;\n",
"\n",
" border-radius: 2px;\n",
"\n",
" position: absolute !important;\n",
"\n",
" z-index: 99999;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".d3-tip:after {\n",
"\n",
" box-sizing: border-box;\n",
"\n",
" pointer-events: none;\n",
"\n",
" display: inline;\n",
"\n",
" font-size: 10px;\n",
"\n",
" width: 100%;\n",
"\n",
" line-height: 1;\n",
"\n",
" color: rgba(0, 0, 0, 0.6);\n",
"\n",
" content: \"\\25BC\";\n",
"\n",
" position: absolute !important;\n",
"\n",
" z-index: 99999;\n",
"\n",
" text-align: center;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".d3-tip.n:after {\n",
"\n",
" margin: -1px 0 0 0;\n",
"\n",
" top: 100%;\n",
"\n",
" left: 0;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".contextRect {\n",
"\n",
" fill: lightgray;\n",
"\n",
" fill-opacity: 0.5;\n",
"\n",
" stroke: black;\n",
"\n",
" stroke-width: 1;\n",
"\n",
" stroke-opacity: 1;\n",
"\n",
" pointer-events: none;\n",
"\n",
" shape-rendering: crispEdges;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".chart {\n",
"\n",
" shape-rendering: crispEdges;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".mini text {\n",
"\n",
" font: 9px sans-serif;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".main text {\n",
"\n",
" font: 12px sans-serif;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".axis line, .axis path {\n",
"\n",
" stroke: black;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".miniItem {\n",
"\n",
" stroke-width: 8;\n",
"\n",
"}\n",
"\n",
"\n",
"\n",
".brush .extent {\n",
"\n",
"\n",
"\n",
" stroke: #000;\n",
"\n",
" fill-opacity: .125;\n",
"\n",
" shape-rendering: crispEdges;\n",
"\n",
"}\n",
"\n",
"</style>\n",
"<div id=\"fig_071d2212c17d417c93598b874c9aeede\" class=\"eventplot\">\n",
" <script>\n",
" var req = require.config( {\n",
"\n",
" paths: {\n",
"\n",
" \"EventPlot\": '/nbextensions/plotter_scripts/EventPlot/EventPlot',\n",
" \"d3-tip\": '/nbextensions/plotter_scripts/EventPlot/d3.tip.v0.6.3',\n",
" \"d3-plotter\": '/nbextensions/plotter_scripts/EventPlot/d3.min'\n",
" },\n",
" shim: {\n",
" \"d3-plotter\" : {\n",
" \"exports\" : \"d3\"\n",
" },\n",
" \"d3-tip\": [\"d3-plotter\"],\n",
" \"EventPlot\": {\n",
"\n",
" \"deps\": [\"d3-tip\", \"d3-plotter\" ],\n",
" \"exports\": \"EventPlot\"\n",
" }\n",
" }\n",
" });\n",
" req([\"require\", \"EventPlot\"], function() {\n",
" EventPlot.generate('fig_071d2212c17d417c93598b874c9aeede', '/nbextensions/');\n",
" });\n",
" </script>\n",
" </div>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Suport for FTrace events parsing and visualization\n",
"import trappy\n",
"\n",
"# NOTE: The interactive trace visualization is available only if you run\n",
"# the workload to generate a new trace-file\n",
"trappy.plotter.plot_trace(te.res_dir)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# RTApp task performance plots"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"06:29:55 INFO : PerfIndex, Task [task_p20] avg: 0.59, std: 0.00\n",
"06:29:55 INFO : PerfIndex, Task [task_r20_5-60] avg: -0.25, std: 1.33\n"
]
},
{
"data": {
"image/png": "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\nzlRNTY1qamrUqVOnuotU9e7dW2+//XbkNs1Md999t+655x7dcMMNib8HAAAApBM9vfHo6Y2WpixJ\noehNWFVVlSZOnFh30amlS5fqL3/5iw455JB6y61du1bbb7+9unXrpnXr1unXv/61Pv7447r5P/7x\nj/XLX/5Sb731liTppZdeUk1NjaTg6s09e/bUww8/rBtuuEE333xznt4dAAAAAKQbRW/COnbsqCef\nfFLf+MY31LFjRx122GHad999NWHChHrLHXPMMTrmmGPUr18/7b777mrfvr169+5dN/+iiy7SKaec\nosGDB6tz58768Y9/rM8++0zSpvv09u7dWw899JCuueYaTZs2LX9vEgAAAKlAT288enqjpSlLUrhP\nb8J69uypu+66K3LesGHDNGzYMElSSUmJpk6dqqlTp9bN//nPf173vKSkRJdeeqkuvfTSzbazYcOG\nuud9+/bV4sWLWys+AAAAAEkVFYVOgJZipBcAAADICHp649HTGy1NWZJC0QsAAAAAyCyKXgAAACAj\n6OmNR09vtDRlSQpFLwAAAAAgsyh6AQAAgIygpzcePb3R0pQlKRS9AAAAANCE8vLggeJD0QsAAABk\nBD298ejpjZamLEmh6AUAAAAAZBZFLwAAAJAR9PTGo6c3WpqyJIWiN2FXX321vvvd79abttdee+l7\n3/tevWn9+vXTXXfdpZKSEi1atKhu+rXXXqtevXrptdde06OPPqrttttOnTp1UufOnTVgwADddttt\nkqTq6mqVlJRo48aNW5yx4T4BAAAAICsoehN21FFH6fHHH5e7S5Lee+89ffnll3r++efrTXv77bc1\ncODAeuteeeWVuuGGGzRv3jwNGDBAktSrVy+tWbNGq1ev1tVXX62RI0fq9ddflySZWYsytnQ9AAAA\npAs9vfHo6Y2WpixJoehN2EEHHaR169Zp4cKFkqT58+fr6KOPVv/+/etN22OPPdS9e/e69S6//HJN\nmzatbl6UIUOGqLS0VK+++mqjGZ5++mkddthhKi0tVa9evfTTn/5UX375pSRp4MCBcnftu+++6tSp\nk+6++25J0v3336/9999fpaWlOuKII/TSSy/VbW/33XfXhAkT9G//9m8qLS3VaaedpnXr1tXNnzVr\nlvbff3917txZe+21l+bMmaOZM2fqwAMPrJdr4sSJOvHEE5t7KAEAAICCqagIHig+FL0J23777fWN\nb3xD8+bNkyTNmzdPRx11lI444ojNptW6+OKLdffdd2v+/PkqKyuL3K6765577tHq1au17777Npph\nu+2203XXXaeVK1fq8ccf1z/+8Q9NmjRJkvToo49Kkl566SWtWbNGJ598sp5//nmdffbZmjJlilau\nXKny8nIdf/zxWr9+fd027777bs2ZM0eLFy/WCy+8UHea9VNPPaVhw4ZpwoQJWr16tebNm6e+ffvq\n+OOP15IlS1RVtekXtttvv13Dhg3bwiMKAACAOPT0xqOnN1qasiSlTaED5IONa53Td/0Kb9F6AwcO\n1Lx58zR69GjNnz9fY8aMUY8ePTR58uS6aT//+c/rlp87d66GDRumXr16bbatZcuWqWvXriopKVGf\nPn10++23a88991R1dXXs/r/+9a/XPe/Tp49GjRqlRx99VBdccMGm9+ab3tuUKVN0zjnn1I3MnnHG\nGRo/fryeeOIJHXnkkZKk0aNHa9ddd5Ukff/7368btZ42bZrOPvtsffOb35Qk9ejRQz169JAknXLK\nKbr99tv1m9/8Rq+88oqqq6s3620GAAAAgNa0TRS9LS1WW8tRRx2lSZMmqaamRh9++KH22GMP7bLL\nLho+fLhqamr08ssv1xvpvfPOO3XWWWeptLRUY8eOrbetXr166Z133tmi/b/55pu66KKL9Mwzz+iz\nzz7Tl19+qQMOOCB2+erqas2YMUM33nijpKAgXr9+vZYvX163TG3BK0nt27fXu+++K0launRpbCF7\n5plnaujQofrNb36j22+/Xaeccoq23377LXovAAAAiFdZWZma0d6qqspUjSJWV1cp5iTKvEvTsUlT\nlqRwenMeHHrooVq1apWmTJmiww8/XJLUsWNH9ezZU1OmTFGvXr3Up0+fuuX79eunhx56SDfddJOu\nueaard7/ueeeqwEDBujtt9/WqlWrNH78+Hojuw317t1bl112mVauXKmVK1eqpqZGa9eu1Q9/+MMm\n99W7d2+9/fbbkfMOOeQQ7bDDDpo/f77uuOMOnXHGGS1+TwAAAADQHBS9edCuXTsdeOCBmjhxYt3p\nwZJ0+OGHa+LEifVGeWvtvffemjt3rq699lpdf/31zdqPu+vzzz/XF198Ufdwd3388cfq1KmT2rdv\nr9dff1033XRTvfW6d+9e75ZFI0eO1M0336ynnnpKkvTJJ5/owQcf1CeffNJkhrPPPlu33nqrHnnk\nEbm7li9fXq+P90c/+pHOP/987bDDDjrssMOa9b4AAADQPGkZ5ZXS1ytKT2+0NGVJCkVvngwcOFAf\nfPCBjjjiiLppRx55pD744IN6tyrKvX3Qvvvuq9mzZ+vXv/61Jk+e3OQ+zEwdO3ZU+/btteOOO6p9\n+/Z65JFHNGHCBP3Xf/2XOnXqpPLycp166qn11hs7dqzOPPNMde3aVTNnztQBBxygKVOm6Pzzz1fX\nrl3Vr18/TZ8+PTJjQwcddJBuvfVWjRkzRp07d9agQYPqnY59xhln6OWXX2aUFwAAAEWlvDx4oPhs\nEz29aXDVVVfpqquuqjft5JNP1sknn1xv2oYNG+q9PuCAA/TRRx/VvY7r5y0rK9ts3VyvvfZavde5\nvcKjRo3SqFGj6s0fPHiwBg8eHLmt3FFhSbriiivqvR4yZIiGDBkSue4uu+yiDh06aOjQobFZAQAA\n0DL09MajpzdamrIkhZFe5NWkSZN00EEHxd57GAAAAABaEyO9yJvdd99dknTvvfcWOAkAAEA2pWWU\nV0pfryg9vdHSlCUpFL3Im8WLFxc6AgAAAIBtDKc3AwAAABlRWVlZ6Ah1qqoqCx2hnurqqqYXypM0\nHZs0ZUkKI70AAAAA0ISKikInQEsx0gsAAABkBD298ejpjZamLEnJxEhvWVlZo/eORXEqS8s15QEA\nAAAUraIrem1cRHE7Iv85WkNpu1KtvHjlFq3T9Zquqvm8JqFEm6QhW7Wqo/++AbXsMwoAQNZxn954\n3Kc3WpqyJCU1Ra+ZfUfSdQpOuZ7q7tdELedXeF5zJanrNV23uKgrbVeal2OQ5myAFPMDGAAglfL1\noz0ARElF0WtmJZL+KOlbkpZLetrMZrn764VNlqw0j1KlORsAACguNZ/XbPEP4zaWHzdbIi2jvFL6\nekXp6Y2WpixJSUXRK+lgSW+6e7UkmdmdkoZIynTRC6DlStuVMtoLAEWitF1poSMAW628PPiTqzgX\nn7QUvb0kLc15/U8FhTAAROJsBAAANkdPbzx6eqOlKUtS0lL0NhtXaQYAAAAANFdait5lkvrkvN4t\nnFaPu1PxAgAAADHSMsorpa9XlJ7eaGnKkpSSQgcIPS1pTzMrM7MdJJ0q6b4CZwIAAAAAFLlUFL3u\nvkHS+ZLmSHpF0p3u/lphUwEAAADFpbKystAR6lRVVRY6Qj3V1VWFjlAnTccmTVmSkpbTm+XusyWl\n55wDAAAAAAhx1ebilYqRXgAAAABbj57eePT0RktTlqRQ9AIAAAAAMouiFwAAAMgIenrj0dMbLU1Z\nkkLRCwAAAADILIpeAAAAICPo6Y1HT2+0NGVJCkUvAAAAADShvDx4oPhQ9AIAAAAZQU9vPHp6o6Up\nS1IoegEAAAAAmUXRCwAAAGQEPb3x6OmNlqYsSaHoBQAAAABkFkUvAAAAkBH09MajpzdamrIkpU2h\nAwAAAABA2lVUFDoBWoqRXgAAACAj6OmNR09vtDRlSQpFL4BWZWZ/MbNLm7nse2a21swmJ5Cj3Mzm\ntvZ2W8rMzjWzj81so5n1zNM+f29mH5rZonzsr9iZ2btmdlihcwAAgNZF0Qtso8ICbE342GBmn+ZM\nOy1PMVzSv7v7qDBT21YuCr2VtiNJMrPrzewtM1ttZi+b2akN5h9kZs+HhfwTZrZPXRD3myTt1Fim\n8EeAT8K/g+VmNsXM2rUw656SzpG0h7t/pSXbKDZmdoyZvVnoHABQSPT0xqOnN1qasiSFohfYRrl7\nR3fv5O6dJFVL+l7OtL/kMYo1eN6qhWorWy3pGHfvLKlc0s1mtr8khcXpvZJullQqaaake8ys4b+z\npngu6dvh38nBko6U9J9bGtLMtpPUV9K77r66hesXqzR/fgAAQAFQ9AKQgkKsXjFmZoeFo5U1ZvZP\nM5tYW8CZWYmZ/cnM3jezVeHo5l6bbdSss5nNN7Nrmpnj0fDPN8LRzuPNbCczezDc14dmdq+Z7Zqz\nj5Fmtjhc/i0zOynyDZrdaGYPm9m/xB6E4JToh83s5pzR3CNr57v7r9z97fD5Y5KelHRIOHuwpM/c\nvcLd10uaIKmjpCOa+d7rYoTb/6ekOZK+GmYrNbPp4Sm41Wb2q4jcfzSzjyRdLOk+SV8Jj8ukcLmT\nzOwVM1tpZnPC0eDabbxrZj8zs5cVFPe10y4Mj8Oa8O+8u5nNDY/PA2bWIVx2OzObGY5Wrwzz9MvZ\n/l/M7A9mNjvc1nwz650z/9/CdVaGo9wXhtNLzOyXZvZ2+Bn4s5l1ataBNHvczH4V/rnazO43s845\n888Oj+UKM/u5cgrmxvZrZmeaWZWZ7Ri+PtHM3sndNgAUCj298ejpjZamLEmh6AUQZ52kn7h7qYIR\nx+Mk/Ticd5yk/STt7u5dJJ0uqSZ3ZTPbWdIjkh5094ubuc+jFBR9e4Ujzvcp+HfqJkm7SdpdQWHy\nh3AfXST9TtLR4ejoEZJebpBjOzObIamPpGPd/ZNmZHheUldJ10i6t7awa7DdDpK+nrO/vSW9UDvf\n3V3SS5L2abhuc5hZX0nHSHounHSHgmPcV8Eo8BAzOyNnlSPDZXdSUHCfKGlReBzPM7OvSbpVwSnP\nu0iaJ2lWg5HoUyR9S1K3nGknhNveW9JpkmZJGh1uo5Okc3OWvVfB31F3Sa9Lmt7gbZ2moCAvlfSe\npHHhe+0iaa6C0fFdJfUL80nS/5P0bUmHKfgMrJd0XfRRi3Ra+Oge7nd0uM/9FXyOTg6321fBsasV\nu193nyHpRUkTzGwXBZ/P4S0ZVQcAFI/y8uCB4kPRCyCSuz/j7s+GzxdLmippYDh7vYKCZ28zM3d/\nzd0/zFm9TEHRcou7/7YFu68bdXb39939f919nbt/rKAQHZizrEv6mpm1dff33D23YaedpLslbSfp\nRHdf14x9vxOO1m5w9z9LWqqg+GzoFknz3H1++LqDwhHSHGsUjPZuib+Z2UpJ/5D0oILCqo+Cgv5n\n7v6Fu6+QdKOCYq7WInef5oEvIrb7Q0n/4+7z3f1LSVdJ2lnSgTnLTHT3FQ3W/4O714Qjz/8naYG7\nvxouM0vS/pIUHq/b3f2z8Dj/RtJBZrZDzrb+6u4vuPsGBUX8fuH0EyS96e43uft6d19b+9lTcBr5\nJWGu2u3+sPmHU1PcfYm7f6agqK7d5w8kzXT3p8KR+UsVfE5qNbXfcklDJD0s6Q53/8cWZAKAxNDT\nG4+e3mhpypIU7tMLIJKZDVAwYvh1STsqKAgekyR3/5uZ9ZdUIamnmc2U9J/u/mm4+hBJHykYWdza\nHB0kXa9g1K2zgoK4XZhjlZkNlfQzSTPM7FEFheHb4eoDJLWX9HV339jMXf6zwet3JNW7sJaZ3Sip\nt6R/z5m8VsEPAbk6S/q4mfut9R13f7zB/soU/B18YGbSptPRcy/atLSJ7fZU0LstSXL3jWa2TFKv\nnGUavndJej/n+WeSVjR4XXd6s4JR9xMUjBR7mLGbpHfD5d/LWffT2nUVHMu3Fa23pAfNrPbUYwv3\n19XdV8askytunz0V/N1Kktx9jZnl/mjR6H7dfaWZ3aNg5Py7zcgBAAAKhJFeAHGmSHpWwSnMnRWM\ndOWOwF7n7l+XtK+C0bPROeveqGBU8H/NrO0W7DPqIkSXKCjMDghPpR7cIMff3P3bknooKPwm5az7\nvILTb+eY2e7NzLBbg9d9JC2vfWFBf/JhCorTT3OWe0XSv+UsZwr6cV9p5n7rVo2YtlTSx+7eoJWI\ntgAAHthJREFUNXyUunsXdz8oZ5mmLuC0XMEIfG2+EgXHNbfQ3ZqLQJ2l4NTogeHf07/W7qoZ6y6V\ntGfMvH9K+maD9/4vzSx4G/OugsI2CBn04+b25Da6XzM7WMFI+90KPu8AkAr09MajpzdamrIkhaIX\nQJwOkla7+2cW3HpnZO0MM/uGmR0Qju59pqD/d0POuu7uIxUUWrManOIaKzyNdJWk3FvsdFQwQrfG\nzHaSdHlOjp5m9t3wgkLrFYy21hvRDfsvr5T0cHiacFN6m9mosBf4RwqK4Dnh/sZJ+r6kweGp1rnm\nStoxXHcHST9XMMq7oDnvvTHuvkTSE2b2OzPrYIE9zezwLdjMXZJONLMjzKyNpF9I+lDBDxutoYOk\nzyXVhKPz47dg3Xsl7WHBBbm2N7OOZlZ72nWFpGvMbDdJMrNdzOy4Vsj7V0n/YcFtpnZQ8BnJ/QzH\n7tfM2kv6s6QLJY2Q1M/MRrRCJgAAkACKXgBS9AjfhZJGmtkaBSNZd+bM6yLpNgUXVnpL0hJJN0Rs\na3i4zMyw0GqOX4XLrwyLjN8r6D39SEGf8AM5y26nYCT4XUkfKOhPPX+zN+c+RdJEBYVvU/cAnqeg\nT3WlgsLwRHf/OCyMfqngQk2LbdM9jceE+/hcwWnd54bv+QeSTmhwWnVTo56NjbSepuC4v67gWNyp\n4GJSzeLuL0k6W9JkBacsHy1pSE6+qH03nNZYvqkKiuj3FFzQa16D+bHruvsqBaeKnxZme11SbUH/\nOwU/KPwjPP14gcI+4mZobJ8LFZwW/98KRpqXhPlrNbbfayW97O4zwr/3MyX9vpk/qgBAoujpjUdP\nb7Q0ZUlK4j294a/kMxRckXOjgouK3BCx3A2SjpX0iYKrYC5MOhuAgLt/JWLaI5IizwNy979L+nvM\nvNNznm9U/YstNfS5pAfM7E53Pzdc54+S/thguSMbvL45XHapgqstR+WoUDBaV/s6artRNoZZcq9K\nXDsK3egPheHFlyILMjM7R9JvFYyMRxZj7h5bkIeF4aiYefXeazjt7wqugpw7baaCizk1a98Np7n7\nKQ1e/0nSn8LnaxRc1TvXjJxlT8+d0TCfu78oaVBEho0Kfvj4fVTuJrZ5WIP5DT8TUxUU67UmNGe/\n7n5eg9fPqP6VnwEAGVRR0fQySKd8XMjqS0kXufvC8JS3Z81sjru/XruAmR0raQ9338vMvqHgC+0h\nMdsDkBHu3tw+26Ln7jcrLNYBAEgKPb3x6OmNlqYsSUn89GYPbiGyMHy+VtJrqn+1UCk4JXBGuMyT\nkjqb2a5JZwOw7TGzW3NOTV6T83xiobMBAACg9eW1p9fM+iq4yuuTDWb1Uv3bbTS8jQYAtAp3H+Hu\nHd29U/iofX6RB/fnHVzojAAAtBQ9vfHo6Y2WpixJydt9esNTm2dKGh2O+LZkG1tzOw0AAAAUEXdv\nzm3PAKBReSl6w6u2zpT0Z3efFbHIMuXcL1HBLUKWRW3Lnbp3Wzd27FiNHTu20DFQYHwOIPE5wCZ8\nFrInuN05thQ9vfHo6Y2WpixJydfpzdMkveru18fMv0/BLR9kZodIWuXuK/KUDQAAAAAaVV4ePFB8\nEi96zexwSUMlfdPMnjez58zsO2ZWbmajJMndH1Rw38u3FNxO4rxGNgkAAAAgAj298ejpjZamLElJ\n/PRmd39M0nbNWO78pLMgG9J02g4Kh88BJD4H2ITPAgAgTl6v3gy0Br7YQOJzgACfA9TiswAE0vTf\nQtp6RenpjZamLEnJ29WbAQAA0qBv376qrq4udAyEysrKtGTJkkLHAJBhjPQCAIBtSnV1tdydR0oe\n/ADRuujpjUdPb7Q0ZUkKI70AAAAA0ISKikInQEsx0gsAAABkBD298ejpjZamLEmh6AUAAAAAZBZF\nLwAAAJAR9PTGo6c3WpqyJIWiFwAAIIMuv/xy7bzzzurZs+dWb+voo4/WtGnTWiFVcTGzqWa2wsxe\nLHQWAC1H0QsAAJASffv2Vfv27dWpUyf16NFDI0aM0KeffrrF21m6dKkmTpyo119/XcuXL1d1dbVK\nSkq0cePGBFJn2q2Sjil0iC1BT288enqjpSlLUih6AQAAUsLM9MADD2jNmjV67rnn9Mwzz+jKK6/c\nom1s2LBB1dXV2mmnndStW7d628aWcfcFkmoKnQPpUF4ePFB8KHoBAABSxN0lST169NCxxx6rl19+\nWWvWrNHZZ5+tnj17qnfv3vrlL39Zt9z06dN1xBFH6KKLLtJOO+2ko48+WoMHD9ayZcvUqVMnnXXW\nWZvtY8SIETr//PN13HHHqVOnTjr00EO1ePHiuvlz587VgAEDVFpaqp/+9Kd1+6o1bdo07b333urW\nrZuOPfZYvfPOO5Kkxx9/XDvvvLOWLVsmSXrhhRfUtWtXvfHGG4kcqzT58MMPVV1dHflYt25d3nLQ\n0xuPnt5oacqSFO7TCwAAkEJLly7Vgw8+qJNOOknDhw9X9+7dtWjRIq1du1bHHXec+vTpo5EjR0qS\nnnzySZ1++ul6//33tX79ej3xxBM644wz6orR6urqzbZ/1113afbs2dp///115pln6rLLLtMdd9yh\njz76SCeddJKmT5+u448/XjfeeKNuvvlmnXnmmZKkWbNm6eqrr9b999+vPffcU1dffbVOO+00PfbY\nYzr00EN1zjnnaNiwYbr//vt1xhlnaPz48erXr1/+DlwBDB8+XEuX1mj9+o5q2/Zf1L37Hurbd19J\nUlXV43Jfpn79Dpa0qfCqPdV27dp3dOKJ3647Lbm2aH3lleVavnztZstXV1epW7cddf31V9Zbvnb9\nhQsX1nvdcH7D16NHX66PPvqs3vZr99ezZwfts0/PLdpedXWVPv+8su6U2YYFVe3r3PmrVy+Pnd/U\n/qJe33PPQ+rQoc9m76eqarF23XXz/TeWb/Xq5aqqqsw5BbhSVVWbr5/7esWKTcV13PFpuL+4/VdV\nVWrevAfq5ue+n2eeebluWy19P1VVlVq6dKH69x+kZ55ZqB/96Gd126/dX1XVYo0cOarZ25Okdu2i\n33/U64ULF2rVqlWSpCVLligJFL0AAAA5Wuss4AaDo812wgknqE2bNurcubOOO+44nX322erXr59W\nr16ttm3bql27dhozZowmT55cV/T26tVL5513niSpbdu2zdrPiSeeqAMOOECSNHToUP3sZ8GX3Qcf\nfFBf/epXdeKJJ0qSxowZowkTJtStV1FRoV/84hd1hewll1yi8ePHa+nSperdu7euuOIKHXLIITr4\n4IPVu3dvnXvuuS07EEXktttu069+dYt69jxLJSX1T6Q066klS/5bZWVB0VBWVn/d6urJ9fpwa5/P\nnTtZZWWjNlu+rCxYp+HytcaMGVPvdcP5DV936NBH++wzqt72c7P95CeNr9/wdVlZf5WVBdNye0Wf\neOLOzabVvq6dFzW/qf1FvZ47943I473DDs9F7r+xfJ0792wwbZD657QGR22vXbtNZzY0dnyas//a\n4xP1fiorz9nq99O//6C612vXbtRJJ02ot3xZmbR48Tmbbb+x7UlSdXVwDJrz99Vw2vTp09XaKHoB\nAABytLRYbS2zZs3S0UcfXff66aef1vr169WjRw9JwenP7q4+ffrULdO7d+8t3k/37t3rnrdv315r\n166VJC1fvnyz7eW+rq6u1ujRo+uKZHeXmWnZsmXq3bu32rRpo+HDh2v06NH6wx/+sMW5UsjCB4Ai\nRU8vAABAijTsn+3du7fatWunjz76SCtXrlRNTY1WrVqlF1/cdBed1rxIVY8ePepOi661dOnSenkq\nKiq0cuXKujxr167VIYccIklatmyZxo0bpxEjRuiiiy7S+vXrWy1bvpnZHZL+T1I/M3vHzEYUOlNT\n6OmNl3sadaGl6dikKUtSKHoBAABSrHv37ho8eLAuvPBCffzxx3J3LVq0SPPmzdui7TQspuN873vf\n06uvvqp7771XGzZs0PXXX6/33nuvbv4555yjq666Sq+++qokafXq1Zo5c2bd/BEjRmjkyJG65ZZb\n1LNnT11++eVblDNN3P10d+/p7m3dvY+731roTCiciorggeJD0QsAAJAScSO2M2bM0Lp167T33nur\na9euOvnkk+sVoluz7Ya6deumu+++WxdffLF22mknvf322zriiCPq5p9wwgm65JJLdOqpp6pLly7a\nd999NXv2bEnSDTfcoA8++EC//vWvJQVXeb7tttv02GOPbVFWtBz36Y3XuXPPQkeok6Zjk6YsSaGn\nFwAAICUWLVoUOb1jx46aNGmSJk2atNm8YcOGadiwYfWmDRw4sN4pymVlZdqwYUPd61tvvbXR5QcP\nHqyqqvjbuwwdOlRDhw7dbPoFF1ygCy64oO51jx49tGLFitjtAEA+MNILAAAAZAQ9vfHo6Y2WpixJ\noegFAAAAAGQWRS8AAACQEfT0xqOnN1qasiSFohcAAAAAmlBeHjxQfCh6AQAAgIygpzcePb3R0pQl\nKYkXvWY21cxWmNmLMfMHmtkqM3sufBTvzdwAAAAAAKmSj1sW3SrpRkkzGllmnrsfn4csAABgG1dW\nVtbse9YieWVlZYWOkCn09MajpzdamrIkJfGi190XmFlT/5rxfx4AAJAXS5YsKXQEAEAepaWn91Az\nW2hmD5jZ3oUOAwAAABQjenrj0dMbLU1ZkpKP05ub8qykPu7+qZkdK+leSf3iFh47dmzd80GDBqXq\nFA4AAAC0TGVlZaoKNqChiopCJ0BLFbzodfe1Oc//ZmaTzKyru6+MWj636AUAAEA2NBzMGDduXOHC\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f08f8a11490>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nuWWDJL0i6YLcssskzZe0UpVtPCFpctmy5ZUKxrO6eL1KeexRtnyypKcrvK6js58/mu2n75U97vhs\nvY9lP++QrfeJsvX+S2m6ak/fX5+ssN+6m0vptb27h+/lNbpYz9nr/GdJ1+eW/0HSdV089unsNR6u\nVIQ+IWm1buR2gqT3KiyvuL+r5HyhpPtyy38m6Z4uHnu7pKmSlsl+L16UtHEPX8dSnlX3T7buyGwb\nk8qWT5d0ZYX1D8pet5E9yOccpcJ8G6Xe5Nuy/PbqxmPPz9Z9JXtdtlf6wu8NZZ952Xq/UBrZLn/8\nmtnj9y5bXnq/HtjT3xNu3Lhx6483pk8DaDVWOmB9R2m09OdKo4IHZffvlK1zZTbFdKDTmanvlvSa\n0kFl3qRIvYZdWUfSipKuzC+MiP9TGoHZoWz9v0XEy6psUtnPj2X/LjzZT0TMVRphHlVaZntp28c5\nTcn+t9I+mJbLL+/f0XHq59tKJwvLn+H5U5L+GBEvVkrSqVd7TS2+L99SOolP+b6s5D1Jvy1bdrWk\n0e78hEXbK43cVZoKai2+r8vdLanNaVr4rpWmMPdAT3PpzuhfVbY3sf1H2y8ofcHzjtJrlX+N71aa\nkn+S7W1sL91JuJFKBfGykraKiBlLml8nOa9l+yrbz2b5viPp4Ao5b2j7XNuftL1cJ+GGKH0JsKGk\nrSPiHzWmdUMXOX9A6fV6W1KvnYU5Io6MiCsi4v8i4rdKn1H3SPpxLpcB+d+xbJRcSl/GhaTLI+IH\nETE1Is5Smv3xBdvlv/cA0JIoigG0mlDq6dtU6YD7AxHx1ayIlFLhaqWpp+/kbm8rjXB+sCze8+qe\n0hTPSuu/oMWngFaL217289tVluenfZ6qdHbZyyR9VtJmSmeRtRafHloeS0rTwPPrfVBppLwzK2b/\nXqTF9+Wu6t6Zk9sj4r2yZaUifGT5ypnO9vULZfdXlH0ZsIekVZUK8pedLqezfjfyXdJcuvt+qsj2\nqpJuURrdPUJphsOmSl+k5F+7k5VGDndTGll91fZE2+Xv7/UlrSvpmoh4ZUlyq5LzB7Kc11c6CdW2\nWc4TlUZ8JUmRpssfLmnz7PnMsf2bCv2uY5SmqN8Ui08H7olOX4tsOvkflWaW7BwRz5Wt0i6prfxx\nWvR6V/r96paIeF/StZJG2V4pW3yrOv5+lc6mX+qBLp86Plnp937DXD6V2gNK+fba5cUAoD+gpxhA\n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\nPz40e92fs/3l3PpX2T43ez3m277ZncwCcZpxcbbtZ7I459peusp77hTn2i5s/6fth7PXf7Lttbq7\nL1X9fbdKdvtlRLwXEe9ExB0R8fdOnsf3bP8ry/MB258tu//rud+r+21/tEKM9Z0+075QaRsAWpYl\nKTsOuEnSx2wPtX1R9rk5y/aPSp9ltve3fYfT3+RXJN0uabKkkdln0MTFNpBGoH9u+4/ZOnfaXj13\n/6eyz7B22z8r5ZS7/0Dbj2R/226yPTpbvlX2N3Nk9vPHs8/rsb2zq1ANRTHQM29L+kZEtEnaTtLn\nJB2c3fc5SRtKWj0ihkvaS1J7/sFOhdztkm6MiKO7uc3tlT5g185GT3+v9Lt7vtJI7OpKB/8/zbYx\nXNJPJO2YfXu6raSHyvIYaPsySaMlfSYi3ugih+0k/UPSB1V5uukOkh7OYq8sqU3SA7n775e02IFu\nJ/7uNCX7aturVllvQ0nzJB2YFUKP2D44d/9Hs+3mcxjt7k+tWl9S+ZToiyTtk+3XDSVNy6ZWf1HS\nv3Ij3O2q/l4p2VXp2+2NlF5nqePrrIj4l6RlJK2pnrtB6f2xsqRHJV2WxfyZpN9I+lG2rS87Fex/\nknRHtv4uko61vV0u3hck/VLSMEm3STpHkrJi6ial98Co7PabiHhT0rVKBWrJXpL+GBHzO8n5B5JW\nVNr/Y7X46P5/StpR0lqStsziKSuWvqa0rz+iVPRWs76k6aUfsoLxD0qzD0ZI2iR7PpL0C0ml0YRP\nSzrcHdsptlXab22Sfqe0bz8iaTWl2Qbn2x6UW38fScdI+pCkJyVd2kmOP1UqPj+qNBtjbUnHVHnP\nLWR7faUvo76mtD+nSvqdO04HrLgvpS7fdy8ozaS5yulLuhU6yb/kMUlbZr83p0m6OivsZXtfSf8t\n6cvZ/V/S4p+bWyq9Nw+OiBu62BaAFuQ0Bfqzku6TdImkBUqzxDaS9Cl1/Pu7hdJn74rZfZ+RNDv7\nLO2sF/jLkk6QNFzSU5JOzrb7QaXP/OOUPtOfUm6QwGnW2jFKfz9XkDRN0lWSFBF3SrpA0qVOLT2X\nSzo+Ih6vfU+gVhTFQA9ExD0RcW/2/6eViqQdsrvfkTRU0nq2HRGPRsQruYePUTow/WVEnFLD5hd+\n8xgRL0XEHyLi7Yh4TelAc4fcuiFpfdvLRMQLETE9d9+ySoXKQElfjIi3u7Htf0XExEgWdEjK/pzS\nwfWJ2aLlsxxfy602X2nKdTXvKBUXYyStp1Tw/q7K+qsqFW8rKxX3e0v6ie3SH6Plsxj5HFzKrxuG\nS3qtbNm7St9CLx8R7RFxf4XHSeryvVJyUkTML9unlUbmXsvy6bZsBO+KiHgze41/JGmzsuIsb1tJ\ny0TEGdljn1Q6sNgzt85tEXFbRITSH++PZ8u3kzQkIo6PiLeyGQR/y+67XB2L4n3UyZT0iJgeEVOy\n7b+kVHSX77OzIqI0ze1GpS8nJGkPSRMi4omI+LdScV1N+eu7j6TfR8QNEfF+RLwaEQ9m++s/JP1P\nti+fknS20myIksci4ppsv/xa6b35/Yh4NyL+IGmQUoFcckNE3JW9LsdJ+mR2YLWQ05S+AyUdmc24\nKP2ed/fcBl+W9NuImBYR7yq1N6ygNL2wpLN9WVLxfZfNxthBqTj+qaTnnPqLx1RKJCKuzV5PRcSv\nJM1W+tJBkg6SdHJEPJDd/0RE5E90s5PS59X4iLi1m88dQOu4wWkW21SlQYeLlIrjb2d/j15R+szO\nf3bOjojzss/6BYuHrOj6iLg3It6X9Cst+rz8rKSHIuL67G/X2UqfjSWHSTolIh7PHnuqpA2zIl5K\nf6uGS7pL0qyIOL+nOwD1QVEM9IDtdZ2mLb9ge55SX+2HJCkiblL6MP6FpOezqTb5UcndJb2vNHqz\npHksn00Nmml7rqQ/5/KYq1QgHinpBacprfnRnnUl7Szph9kHdHfM6iSP7SRNlLR7RDyTLX69lGNu\n1WFavMDsIPvj9Nfsj8o8pX7gj9pe0/YgdzwB14ckvalU/J+YfTlwn6TrlP5AlfLIT9Edlq3f3b7H\ndi1eyO+uNJL1TFYEbLr4w5Jq75WcZ7uZyxBJc7u5bmn7A22f6TTdd67SSLGVRvsrGSNp9Wzq1hzb\n7ZK+LWml3Dr5P/T/1qIvGFaV9HSloBHxF0kDbW9h++NKX2Lc1EnOH7b9a6dpx3OVRqXL99mLneSw\nijq+T2eqen9u+es7Sukb/nIrZ3HKY4/sJKc3JS2IiNfLluV/HxbGykZ4X8/yz1tF0tKSStOf5yiN\n/Jfvj86skuVZ2s77SsVoZ3nn92VJp++7iJgVEV+PiDWVRmOk9FmwGNsHOU2LLr2v1sw9j1GS/lXl\neRwu6dbclywAkLd7RIyIiNUj4ptKf7OWVjoOK33mXKCOn50Vj2m60Nnfv/K/PeXxx0g6J/c5/qrS\nschIScq+tLxEaUbQWTXkhTqhKAZ6ZoKke5WmSA9TGn3Lj+CeHREbK53UaUOlwrTkZ5L+KukPtpfp\nwTYr9UUeo/SBukmkqdqfLsvjpojYSelkV7MknZd77H1KB5qT8z0xPc3B9hZKReheEfHX3LZfkDRH\ni0YRlf3/YfVM6fk4K3qHxKKpoq+o4/TsSnk+XJbDhpJmZqOI3fGA0rTSRcEj/h4RuylNubpZ6WRE\n5dstqfpeqfC4iv2vtteQ9JYqF2zVfFXSJyXtkL1HPlIK2cn2Zkl6NDu4GBERbRExLCK+1I1tzVLH\nkdBylymNrO4r6epY1Pdd7nSlAnG9LOeDVb2wzXteqcAqGaPqPcUPKE3PLpmlstc784LSl1mjc8tG\nKxWYtVqYZzaN+AOSyi8D8rzS7Ik1c6/J8IhYMbu/q5PAPKe0D0rbGaD0mdGtL2J68r6LiFlK7Rwf\nqxBnbUnnKk19HhGpneApLXpdZ6l6a8BBSrMz+s2lswD0K+V/I2YpfXZ9MPe3bHhEbJBbp54n0Xpe\nHf8+SB3/Fs2SdFjZ39blS1/0Zf3EJygNmJxle+k65oYeoCgGemZ5SfMi4k2nk8EcUrojGwnbJJv2\n+KZST2n+4D8i4hClg9XfVZnG2kE2xXKuFo3GSGkE59+SSqOmC8+2aHsV25+1vZzSQfXrSgf1+ZiX\nKZ146tbSCR96wvZGSv2Xh0TELRVWuULS951OdrGB0km2qo6QO51IZ32nE5YNVZo6+3g2jXcxEfGI\n0nSj7zqdfGgDpWmuf8xWuUzSYbbXzqamHtdVDmXxn5L0ou0Ns/wG2/6y7SFKr+vrWvT6vihpRXc8\nYVmn75VOtlfpdZbSNNWbs6m5nRnkdPKu0q10hvC3JLVno/Ynlz3mxbJt3ZE9zyOzGEtlr8dGVbbr\n3GNfczqZyXJOJ4jaKrfe5ZLGK03FvqxKvCFK+/X17H35nSrrlvu1pIOz13t5pZH5am6UNK4sx12d\nTqY20Olkdutnr8v1kn6cvQfWVPqyq9pZybsq5He3vVn25dhJkm6PsrNgZ6MHEyWdW5pa7XQitJ2y\nVSq95/KukfRF29s69XwfK+kVpS9quqPT953tFZ1OnrV66Wel3/E7K8RZXun35JXsPfU1dfzy4ZeS\njsl+f5W9fvlR87lKPX+72j6xm7kDaFHZF/OTJf3U9hAna7h7V8DI6+4Xsn9Sapv7Qva340ilGUYl\nF0g6zvZ60sKTrea/bL5YqfXnYKXjw5N6mCfqhKIY6FylIuTbkg6xPV9p5Pfq3H3DlabAtCudwGGG\n0ghJeaxSPgbkAAAgAElEQVQDsnWuc8ezvVbz/Wz9OU49vKcr9Qe+qtRH86fcugOVRpKfl/SyUg/h\nEYs9uYgJSlN1bnXPr4H830onFbrCi6Y13527/zilg/ZnlabKnhAR07qI+WGlked5kh5Xmuq0WxeP\nGa805ag9e+x/RTpxhSLid5J+rlSwPak0Mlg+2tTVH71fKJ3FuuRApde1XakHdb9sW/dL+r2kmdlr\nNFypoOvsvSJVfn+Vv85Smgp/QRd5XqT0JUnpdr5SsfGK0kjn/Urvk7wLJW2ebevKrAj7rKStlabd\nvqg0w6DTM5OXnkPusRsqveYzlU4qouz+p5Re09ciXQO3M99X6k+eq3Tikusqba9iIukETBcqncTk\nEUmTqmxHSmdv3rhUcGY57q50Yq85ku5W6m2X0smqnD2vWyRdGNUv0VaeZ/nPVyj1B7+sdAKt/TtZ\n9yilg6R7sunkNyobVe3kPbcoSDrr+0FK++QlpRNq7Z5rmehqpKTa++4tpZN+3Z69v+9T2meLffGT\ntTVcoFSMz1Yavb47d/8VSp9D12WxrtWiPubS+6tdqbf4S7aP6SJvAK2js8+x/ZTO5fCI0mfTtepY\nqC5J7I4rpS8091D6TH9F6TP6jtz9Nyj1EV+dfY4/oHQiS9n+ltKx3Pez1Q+UdIAXnRsFfcjVBx+6\nGcS+SOnMqi+WpifYblP6pnqM0kHk+KxPULaPVXrh31U6icjkbPnGSkXFskpn5z0qWz5IaXRhE6U3\n3JdL/Yu291c6iAmlk3VUG4UA+j3bTysdFF4dEYcXnU+zsj1VaXr11GxKdKV1llM6mN820hl/+5RT\nz/LpEbFjX2+73mxfIemRiOg302BtHyFplYg4rg+3eZWkB/vTfijXTO87oLf19BgYQP9Ur6J4W6Up\nb5flPhBOk/RqRPzE9tGS2iLimGz6wK8kbaZ0cpZblC5BErb/LumIiLjb9o2SzomIP9s+XNL6EfF1\np+s9fjEi9sw+dO5RuqSJlQ5eN+aDBwD6D6fLHd0jad3IrindqhqhKAbQfT05Bi4yTwDV1WX6dETc\nobLrCipNQytde/FSLZpK93mlEbB3I2KG0nVAN3e6tumQiChNq7os95h8rOskfSL7/86SJkfEvEhn\n3J2sbEoCgO5zujB96czO83P/r+uZEJ0uYJ/fTmlbd3f9aDSi7ODwXkk/aPWCOFPPE7wAKFgPj4EB\n9FPd7WesxYoR8aKUmt6zE3FI6eyX+ZNxlC4R8a46nhXzWS26dMRIZac3j4j3bM9zOmPnwuVlsQD0\nQER8Velsxb29nYnq5LItaE4RcbSko4vOo7+IiL2KzgFAr+vsGBhAP9WbRXG5en473t0zwi16gM23\n8wAAAC0iInp8vNhLOj0G5fgUqL9afvd7syh+0fZKEfFiNjX6pWz5bHW8fteq2bLOlucf85zTpUaG\nRsQc27PV8ZIaq0q6vbOE6tE/DQAAgP7NLrQe7uwYuKLePD494IADdMkllzRc7EaPT+71i3/88Rdq\nzJhDK943c+aFOvnkjvfV+rtfz0syWR1HcH+vdOkZKV1u4ne55XvaHpRd43AtSXdl1xWbZ3tzp2ez\nX9ljSpes2EPSbdn//yzpU9k1v9qUrmX45zo+JwAAAKCa7h4DA+in6jJSbPtKpRHbD9p+RtIJStfk\nutb2gUrXdhwvSRHxiO1fK1077B1JX49FX5F9Qx0vyVS6zuRFki63/YTSdVn3zGK12/6R0llNQ+lE\nLnPr8ZwAAACAanpyDFyE1VZbrSFjN3p8ci8ufq3qUhRXOXHITp2sf4qkUyosv1fS+hWWL1AnHygR\ncYlSIQ0AAAD0mZ4eA/e1cePGNWTsRo/fn3IvzSbu7iz9/pR7X6rn9GkAAAAAABpKX559GgAAoBCr\nrbaaZs6cWXQaqLMxY8ZoxowZRacBoMG5Vc7IbDta5bkCAICObHMViibU2euaLe8vl2TqFMen6G09\nnT7d39Ry9ulafveZPg0AAAAAaFkUxQAAAEATmjJlSkPGbvT45F5c/FrRUwwAAAAATahRp033NXqK\nAQBA02vUnuJLL71Uv/zlLzVt2rQlijNgwAA9+eSTWmONNeqUWf9ATzHQ3OgpBgAAaBF33HGHttlm\nGw0fPlwf+tCHtN122+nee++VlA7yllQ9YgBAs6IoBgAAKNBrr72m3XbbTUceeaTa29s1e/ZsnXDC\nCVpmmWXqtg1GI1sTvafFxCf34uLXiqIYAACgQI8//rhsa/z48bKtZZZZRjvttJM+9rGPLbbuUUcd\npdGjR2vYsGHabLPNdMcddyy87/3339ePf/xjrbXWWgvvnz179mIx7rjjDo0ePVpTp07t1ecFAI2C\nohgAAKBAY8eO1cCBA3XAAQdo0qRJmjt3bqfrbr755nrggQfU3t6uvfbaS3vssYfefvttSdKZZ56p\na665RpMmTdK8efM0ceJEDR48uMPjJ02apL333lvXX3+9tt9++159XijeuHHjGjJ2o8cn9+Li14qi\nGAAAoEBDhgzRHXfcoQEDBujQQw/VCiusoC984Qt66aWXFlt3r7320vDhwzVgwAB9+9vf1oIFCzR9\n+nRJ0kUXXaSTTz5Za621liRp/fXXV1tb28LH/vrXv9bhhx+uSZMmaZNNNumbJwegUHa6oTqKYgAA\ngNKR45LearTOOuto4sSJeuaZZ/Twww9r9uzZOuqooxZb74wzztB6662ntrY2tbW1af78+XrllVck\nSbNmzap6dulzzjlH48eP17rrrltznmgs9J4WE5/ci4tfK4piAACAiPrc6mDs2LE64IAD9PDDD3dY\nPm3aNJ1++um67rrr1N7ervb2dg0dOnThSbRGjRqlp556qmJM27r22mt1/fXX69xzz61LngDQLCiK\nAQAACjR9+nSdddZZC0+KNWvWLF111VXacsstO6z3+uuva+mll9YHP/hBvf322/rhD3+o1157beH9\nBx98sL73ve/pySeflCQ9+OCDam9vl5TOPr3KKqvo1ltv1bnnnqsLLrigj54dikTvaTHxyb24+LWi\nKAYAACjQkCFD9Pe//11bbLGFhgwZoq233lobbLCBzjzzzA7r7bzzztp55501duxYrb766ho8eLBG\njRq18P7vfOc7Gj9+vD796U9r2LBhOvjgg/Xmm29KWnSd4lGjRumWW27RaaedpokTJ/bdkwSAfsyt\nct0629EqzxUAAHRkm2v1NqHOXtdseb8/vVBvH59OmTKl10bmejN2o8fvT7mXTnXQ3bdZf8pdko4/\n/kKNGXNoxftmzrxQJ5/c8b5af/eX6ukDAAAAAAD9H98Fdg8jxQAAoOkxUtycGCkGmltfjRTTUwwA\nAAAAaFmtVRTX6xqEtjRiRNHPBgAAAOgU17MtJj65Fxe/Vq3VU1zP6Snu9zNyAAAAAABdoKe49oB0\nrgMA0CDoKW5O9BQDzY2eYgAAAABAzUqdn6iOorhWbW317VGmTxkAAAB1RO9pMfHJvbj4tWqtnuJ6\nmjOn/jH5GgcAAAAA+hQjxQAAAAU69dRT9dnPfrbDsrXXXlu77rprh2Vjx47VNddcowEDBuhf//rX\nwuVnnHGGRo4cqUcffVR/+ctfNHDgQA0dOlTDhg3Tuuuuq0suuUSSNHPmTA0YMEDvv/9+j3Ms3yYa\nw7hx4xoydqPHJ/fi4teKohgAAKBA22+/ve68886FJ4x64YUX9O677+q+++7rsOypp57SDjvs0OGx\nJ510ks4991xNnTpV6667riRp5MiRmj9/vubNm6dTTz1VhxxyiB577DFJ6SQ0taj1cQDQCCiKAQAA\nCrTZZpvp7bff1j//+U9J0rRp07TjjjtqnXXW6bBszTXX1Morr7zwcd/97nc1ceLEhfdVsvvuu6ut\nrU2PPPJI1Rzuvvtubb311mpra9PIkSP1zW9+U++++64kaYcddlBEaIMNNtDQoUN17bXXSpL++Mc/\naqONNlJbW5u23XZbPfjggwvjrb766jrzzDP18Y9/XG1tbfrKV76it99+e+H9v/vd77TRRhtp2LBh\nWnvttTV58mRdd9112nTTTTvkddZZZ+mLX/xid3clytB7Wkx8ci8ufq0oigEAAAq09NJLa4stttDU\nqVMlSVOnTtX222+vbbfddrFlJUcffbSuvfZaTZs2TWPGjKkYNyJ0/fXXa968edpggw2q5jBw4ECd\nffbZmjNnju68807ddtttOu+88yRJf/nLXyRJDz74oObPn6899thD9913nw466CBNmDBBc+bM0WGH\nHabPf/7zeueddxbGvPbaazV58mQ9/fTTuv/++xdO477rrru0//7768wzz9S8efM0depUrbbaavr8\n5z+vGTNmaPr06QtjXHHFFdp///17uEcBlERwFdnuoCjuTzijNQAALWmHHXZYWABPmzZN2223XYei\neNq0aR168W6++WbtsssuGjly5GKxZs+erREjRmiFFVbQj370I11xxRVaa621qm5/44031uabby7b\nGj16tA499NCFxXBJ/nq6EyZM0Ne+9jVtuummsq19991XyyyzjP72t78tXOfII4/USiutpOHDh2u3\n3XZbOOo9ceJEHXTQQfrEJz4hSfrwhz+ssWPHatCgQRo/fryuuOIKSdLDDz+smTNnLtZbje6j97SY\n+OReXPxacfbp/oQzWgMAUAj/oD5/L+OE2oZktt9+e5133nlqb2/XK6+8ojXXXFMrrriiDjjgALW3\nt+uhhx7qMFJ89dVX68ADD1RbW5tOPPHEDrFGjhypZ555pkfbf+KJJ/Sd73xH99xzj9588029++67\n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\n9QsXLtQuu+yinp4e/eM//uPgcw245JJLtOuuu2qLLbbQrFmz9NBDD0mSbr75Zm255ZZauXKlJOnX\nv/61Jk6cqKVLl7bkb9UN6D1NE5/c08UviqIYAACgZFasWKEFCxbo9a9/vWbPnq2NN95YDzzwgO68\n804tXLhQF1100eC2t956q3bccUf9/ve/18KFC3XddddpypQpevrpp2v2An/ve9/TvHnztGbNGu2w\nww6aM2eOJOnJJ5/UO97xDp199tl64okntMMOO+imm24a3O+aa67R5z//eV199dV6/PHHtc8+++i9\n732vJGmvvfbShz70IR111FH64x//qA984AM666yzNH369Bb+pQCAohgAAKBpBk5VHO1U1GGHHaaJ\nEyfqLW95i/bbbz8dc8wxWrBggb7yla9ok0020aRJk3TKKafoiiuuGNxnypQpOuGEEzRu3DhtvPHG\nDT3P4Ycfrje84Q0aN26c3v/+92vx4sWSpAULFujVr361Dj/8cG200UY65ZRTtPXWWw/ud8EFF+gT\nn/iEpk+frnHjxun000/X4sWLtWLFCknSmWeeqTVr1mj33XfX1KlT9eEPf7j4HwP0niaKT+7p4hc1\nPnUCAAAAZTHkTOExd80112i//fYbfHzbbbdp7dq12mabbSRlp1dHhLbbbrvBbaZOnTri56ksdDfd\ndFM9++yzkqRVq1ZtEK/ycV9fn04++WR97GMfG8zHtlauXKmpU6dq/Pjxmj17tk4++WR95StfGXFe\nAFAEI8UAAAAlMbR/d+rUqdpkk0305JNPqr+/X6tXr9aaNWt01113DW7TzItobbPNNoM9wgMGRoEH\n8rngggvU398/mM+zzz6rPffcU5K0cuVKzZs3T0cffbROPfVUrV27tmm5dSN6T9PEJ/d08YuiKAYA\nACiprbfeWgceeKA++tGP6plnnlFE6IEHHtDPf/7zEcUZWmzX8ra3vU333HOPrr76aq1bt05f/epX\n9eijjw6u/9CHPqSzzz5b99xzjyTpqaee0lVXXTW4/uijj9axxx6riy66SJMnT9YZZ5wxojwBrC8i\n/RksnYCiGAAAoARqjfhefvnl+vOf/6xdd91VEydO1Lve9a71CtXRxB5qiy220Pe//32ddtppmjRp\nkn73u99p7733Hlx/2GGH6fTTT9cRRxyhzTffXK997Wt1/fXXS5K+9rWv6fHHH9dnPvMZSdlVqi+9\n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\nPT6NfI8dCytWLG5Z7MWLWxd7LOI/9tiKlsVude4c1+Zr26JY0u6SlkVEX0SslXSlpEOHbHOopMsl\nKSJulTTB9lZjmyaaoVP/p9ctOD7tjePT7halTgB18Plpbx18fBr5Httyzz+/pmWx16xpXeyxiP/H\nPz7fstitzp3j2nztXBRPkVT5E87D+bJ626yssg0AAAAwlhr5HgugTYxPnQAAAACA9W200Tg988xv\ntHbtgxusGz9+ndzA1ZOeeGJ5CzLLLF++XFOmTG5p/FZ66qknWha71bm3+ri2UqvjF+WISJ1DVbb3\nlDQ3Ig7OH58uKSLiCxXbfEvSjRHxvfzxfZL2jYjHqsRrzxcKAACApouIZNfcbeR7bL6c76dAkxX5\n7LfzSPFtkna03SvpEUlHSHrvkG2ulXSipO/l//isqVYQS2n/YQQAAEBXaeR7LN9PgTbRtkVxRKyz\nfZKkG5T1Pl8cEffaPj5bHRdGxALbb7V9v6Q/SDo6Zc4AAABAre+xidMCUEPbnj4NAAAAAECrtfPV\np0eskZuk2/6a7WW2F9ueMdY5drPhjo/tfW2vsX1HPp2RIs9uZfti24/ZvqvONnx+Ehnu+PD5Scv2\ntrZ/avu3tn9j+yM1tuMzlEAjx4fPUDq2N7Z9q+0782N0do3tOv7zY/sztn+dv4b/sr1tje2W59vd\naft/WhB/2O/MVfY51/a9eewf2N6sybk3Gr9I7u+0fbftdbZ3q7Nd0dwbjT/i3PP9emzfYHuJ7R/b\nnjDa/FtdN7Xye39LvrNGRCkmZQX+/ZJ6Jb1E0mJJfzNkm1mSfpTP7yHpltR5d8vU4PHZV9K1qXPt\n1knS3pJmSLqrxno+P+19fPj8pD0+W0uakc+/XNIS/h/UPlODx4fPUNpjtGn+340k3SLpzUPWl+Lz\nI+nlFfP/KOmiGts9IKmnFfEb+U5WI/b/kjQun/+8pHOanPuw8UeR+86SdpL0U0m71dmuaO7Dxi+a\ne77vFyT9cz5/mqTPjyb/RnIZzWeuwfiF/81VC76zlmmkuJGbpB8q6XJJiohbJU2wvdXYptm1Gr2J\nPRecSCQifiFpdZ1N+Pwk1MDxkfj8JBMRj0bE4nz+WUn3asN7kvIZSqTB4yPxGUomIp7LZzdW9oV6\n6L93pfj85O+/AX8lqdZ9gawCZ3Q2GL/R72RDY/9XRLyQP7xFUtVRaBXPvZH4RXNfEhHLNPxnvGju\njcQvlHvuUEmX5fOXSTqsxnaN5t/quqml3/tb8Z21TEVxIzdJH7rNyirboDUavYn9XvlpDj+yvevY\npIYG8flpf3x+2oDtacp+wb51yCo+Q22gzvGR+AwlY3uc7TslPSppUUTcM2ST0nx+bH/O9kOSZks6\np8ZmIWmh7dtsH9vk+I1+J6vng5Kuq7GucO4NxG9G7vU0I/daRpP7KyO/w05EPCrplTW2azT/VtdN\nqb/3jzj3tr36NLrSryRtFxHP2Z4l6WpJ0xPnBHQKPj9twPbLJV0l6eQhIzZoA8McHz5DCeUjhK/P\n+0hvsL1vRPwsdV5F2F4oqXJUysqKlTkR8cOIOEPSGXmf5XxVv3vKmyPiEdtbKity7s1Hx5oVv1Du\n+TZzJK2NiO/WCFM49wbjF869AaPKfTTqxK/Wa1vrSsk1829DbfVvbpmK4pWStqt4vG2+bOg2U4fZ\nBq0x7PGp/IISEdfZPt/2xIjoH6McUR+fnzbG5yc92+OVFVz/EhHXVNmEz1BCwx0fPkPtISKetv0j\nSX8rqbIo7pjPT0Qc0OCm35W0oEaMR/L/Pm77P5SdjvqLJsWv+Z1suNi2Z0t6q6T9a20zmtwbiF84\n90Y06e9eS93vwvXi5xeV2ioiHrO9taTfjzT/keRSsU3Rz1zq7/0jzr1Mp08P3iTd9kuV3ST92iHb\nXCvpSEmyvaekNQOnIqDlhj0+lef6295d2S3D+DIytqza/R18ftKreXz4/LSFSyTdExFfrbGez1Ba\ndY8Pn6F0bE8auJqu7ZdJOkDZhXkqleLzY3vHioeHacPXKdub5mc1yPZfSTpQ0t3Niq/GvjNXi32w\npI9LOiQi/lRjm9HkPmz8orkPfapm595IfI0u92uVnQ4vSUdJ2uCHvRHm3+q6aSy+9zf1O2tpRoqj\nxk3SbR+frY4LI2KB7bfavl/SHzSC00kwOo0cH0nvtP1hSWslPS/pPeky7j62vytppqQt8l6kMyW9\nVHx+2sJwx0d8fpKy/WZJ75f0m7wvMiR9UtmVN/kMJdbI8RGfoZS2kXSZ7YGLBP1LRPykpN/hPm97\nuqR1yq4U/GFJsr2NpG9HxNuVnUL7H7ZD2Xf1f/v/7d07ixNhFAbg97RiJdtYCjZaaCMuiKCFjZ2F\nWGljoSDI/gNrK0Fs9Q+IhYWNimDppVG03MbW1guIsMcio67F4m13s5l5HgiZGSZfThJI5mW+zOnu\nR5s1/kbHZH8w9q3Mfncezz6qPOvuK5tY+2/H/9faq+rMMP5SkgdV9aq7T29W7X8y/n+GxGHdAAAB\nm0lEQVS878ns6tN3q+pikndJzg3P+0/1b3Vu2urj/q04Zq3ujaakAwAAwLiNafo0AAAA/BWhGAAA\ngMkSigEAAJgsoRgAAIDJEooBAACYLKEYAACAyRpNn2KAsauqPUmeZNZjdW9mfSjfZ9a8/lN3H59j\neQAAC0mfYoAFVFXXknzs7hvzrgUAYJGZPg2wmOqXlaoPw/2JqnpaVferarWqrlfV+ap6UVWvq2rf\nsN9SVd2rqufD7dg8XgQAwLwJxQDjsH7az6Ekl5IcTHIhyf7uPprkTpKrwz43k9zo7uUkZ5Pc3sZa\nAQB2DP8pBhifl939PkmqajXJw2H7myQnh+VTSQ5U1fczzrurald3f97WSgEA5kwoBhifL+uW19at\nr+Xn934lWe7ur9tZGADATmP6NMA41O93+cWjJCs/Hlx1eHPLAQBYDEIxwDhs1Epgo+0rSY4MF996\nm+Ty1pQFALCzackEAADAZDlTDAAAwGQJxQAAAEyWUAwAAMBkCcUAAABMllAMAADAZAnFAAAATJZQ\nDAAAwGQJxQAAAEzWNwclZcsKYgYiAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f08f7685f10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Support for performance analysis of RTApp workloads\n",
"from perf_analysis import PerfAnalysis\n",
"\n",
"# Parse the RT-App generate log files to compute performance metrics\n",
"pa = PerfAnalysis(te.res_dir)\n",
"\n",
"# For each task which has generated a logfile, plot its performance metrics\n",
"for task in pa.tasks():\n",
" pa.plotPerf(task, \"Performance plots for task [{}] \".format(task))"
]
}
],
"metadata": {
"celltoolbar": "Raw Cell Format",
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}