blob: 27023db7eb77a59ce02f32471058105035241177 [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"# Trace Analysis Examples\n",
"\n",
"## Tasks Latencies\n",
"\n",
"This notebook shows the features provided for task latency profiling. It will be necessary to collect the following events:\n",
" \n",
"Details on idle states profiling ar given in **Latency DataFrames and Latency Plots ** below."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:51:33,920 INFO : root : Using LISA logging configuration:\n",
"2017-02-17 19:51:33,922 INFO : root : /data/Code/lisa/logging.conf\n"
]
}
],
"source": [
"import logging\n",
"from conf import LisaLogging\n",
"LisaLogging.setup()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [],
"source": [
"# Generate plots inline\n",
"%matplotlib inline\n",
"\n",
"import json\n",
"import os\n",
"\n",
"# Support to access the remote target\n",
"import devlib\n",
"from env import TestEnv\n",
"\n",
"# Support for workload generation\n",
"from wlgen import RTA, Ramp\n",
"\n",
"# Support for trace analysis\n",
"from trace import Trace\n",
"\n",
"# Support for plotting\n",
"import numpy\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import trappy"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Target Configuration\n",
"The target configuration is used to describe and configure your test environment.\n",
"You can find more details in **examples/utils/testenv_example.ipynb**."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [],
"source": [
"# Setup target configuration\n",
"my_conf = {\n",
"\n",
" # Target platform and board\n",
" \"platform\" : 'linux',\n",
" \"board\" : 'juno',\n",
" \"host\" : '192.168.0.1',\n",
" \"password\" : 'juno',\n",
"\n",
" # Folder where all the results will be collected\n",
" \"results_dir\" : \"TraceAnalysis_TaskLatencies\",\n",
"\n",
" # Define devlib modules to load\n",
" \"modules\" : ['cpufreq'],\n",
" \"exclude_modules\" : [ 'hwmon' ],\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_load_avg_cpu\",\n",
" \"sched_load_avg_task\",\n",
" ],\n",
" \n",
" \"buffsize\" : 100 * 1024,\n",
" },\n",
"\n",
" # Tools required by the experiments\n",
" \"tools\" : [ 'trace-cmd', 'rt-app' ],\n",
" \n",
" # Comment this line to calibrate RTApp in your own platform\n",
" # \"rtapp-calib\" : {\"0\": 360, \"1\": 142, \"2\": 138, \"3\": 352, \"4\": 352, \"5\": 353},\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
},
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:51:34,465 INFO : TestEnv : Using base path: /data/Code/lisa\n",
"2017-02-17 19:51:34,466 INFO : TestEnv : Loading custom (inline) target configuration\n",
"2017-02-17 19:51:34,467 INFO : TestEnv : Devlib modules to load: ['bl', 'cpufreq']\n",
"2017-02-17 19:51:34,468 INFO : TestEnv : Connecting linux target:\n",
"2017-02-17 19:51:34,469 INFO : TestEnv : username : root\n",
"2017-02-17 19:51:34,470 INFO : TestEnv : host : 192.168.0.1\n",
"2017-02-17 19:51:34,471 INFO : TestEnv : password : juno\n",
"2017-02-17 19:51:34,472 INFO : TestEnv : Connection settings:\n",
"2017-02-17 19:51:34,473 INFO : TestEnv : {'username': 'root', 'host': '192.168.0.1', 'password': 'juno'}\n",
"2017-02-17 19:51:38,957 INFO : TestEnv : Initializing target workdir:\n",
"2017-02-17 19:51:38,959 INFO : TestEnv : /root/devlib-target\n",
"2017-02-17 19:51:41,908 INFO : TestEnv : Topology:\n",
"2017-02-17 19:51:41,910 INFO : TestEnv : [[0, 3, 4, 5], [1, 2]]\n",
"2017-02-17 19:51:43,175 INFO : TestEnv : Loading default EM:\n",
"2017-02-17 19:51:43,177 INFO : TestEnv : /data/Code/lisa/libs/utils/platforms/juno.json\n",
"2017-02-17 19:51:44,416 WARNING : LinuxTarget : Event [sched_load_avg_cpu] not available for tracing\n",
"2017-02-17 19:51:44,419 WARNING : LinuxTarget : Event [sched_load_avg_task] not available for tracing\n",
"2017-02-17 19:51:44,420 INFO : TestEnv : Enabled tracepoints:\n",
"2017-02-17 19:51:44,422 INFO : TestEnv : sched_switch\n",
"2017-02-17 19:51:44,423 INFO : TestEnv : sched_wakeup\n",
"2017-02-17 19:51:44,425 INFO : TestEnv : sched_load_avg_cpu\n",
"2017-02-17 19:51:44,426 INFO : TestEnv : sched_load_avg_task\n",
"2017-02-17 19:51:44,427 WARNING : TestEnv : Using configuration provided RTApp calibration\n",
"2017-02-17 19:51:44,429 INFO : TestEnv : Using RT-App calibration values:\n",
"2017-02-17 19:51:44,430 INFO : TestEnv : {\"0\": 360, \"1\": 142, \"2\": 138, \"3\": 352, \"4\": 352, \"5\": 353}\n",
"2017-02-17 19:51:44,432 INFO : EnergyMeter : HWMON module not enabled\n",
"2017-02-17 19:51:44,434 WARNING : EnergyMeter : Energy sampling disabled by configuration\n",
"2017-02-17 19:51:44,435 INFO : TestEnv : Set results folder to:\n",
"2017-02-17 19:51:44,436 INFO : TestEnv : /data/Code/lisa/results/TraceAnalysis_TaskLatencies\n",
"2017-02-17 19:51:44,438 INFO : TestEnv : Experiment results available also in:\n",
"2017-02-17 19:51:44,439 INFO : TestEnv : /data/Code/lisa/results_latest\n"
]
}
],
"source": [
"# Initialize a test environment using:\n",
"te = TestEnv(my_conf, wipe=False, force_new=True)\n",
"target = te.target"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Workload Configuration and Execution\n",
"\n",
"Detailed information on RTApp can be found in **examples/wlgen/rtapp_example.ipynb**."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [],
"source": [
"def experiment(te):\n",
"\n",
" # Create and RTApp RAMP task\n",
" rtapp = RTA(te.target, 'ramp', calibration=te.calibration())\n",
" rtapp.conf(kind='profile',\n",
" params={\n",
" 'ramp' : Ramp(\n",
" start_pct = 60,\n",
" end_pct = 20,\n",
" delta_pct = 5,\n",
" time_s = 0.5).get()\n",
" })\n",
"\n",
" # FTrace the execution of this workload\n",
" te.ftrace.start()\n",
" rtapp.run(out_dir=te.res_dir)\n",
" te.ftrace.stop()\n",
"\n",
" # Collect and keep track of the trace\n",
" trace_file = os.path.join(te.res_dir, 'trace.dat')\n",
" te.ftrace.get_trace(trace_file)\n",
" \n",
" # Collect and keep track of the Kernel Functions performance data\n",
" stats_file = os.path.join(te.res_dir, 'trace.stats')\n",
" te.ftrace.get_stats(stats_file)\n",
"\n",
" # Dump platform descriptor\n",
" te.platform_dump(te.res_dir)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:51:44,484 INFO : Workload : Setup new workload ramp\n",
"2017-02-17 19:51:44,798 INFO : Workload : Workload duration defined by longest task\n",
"2017-02-17 19:51:44,800 INFO : Workload : Default policy: SCHED_OTHER\n",
"2017-02-17 19:51:44,801 INFO : Workload : ------------------------\n",
"2017-02-17 19:51:44,803 INFO : Workload : task [ramp], sched: using default policy\n",
"2017-02-17 19:51:44,804 INFO : Workload : | calibration CPU: 1\n",
"2017-02-17 19:51:44,806 INFO : Workload : | loops count: 1\n",
"2017-02-17 19:51:44,808 INFO : Workload : + phase_000001: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,809 INFO : Workload : | period 100000 [us], duty_cycle 60 %\n",
"2017-02-17 19:51:44,811 INFO : Workload : | run_time 60000 [us], sleep_time 40000 [us]\n",
"2017-02-17 19:51:44,812 INFO : Workload : + phase_000002: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,813 INFO : Workload : | period 100000 [us], duty_cycle 55 %\n",
"2017-02-17 19:51:44,815 INFO : Workload : | run_time 55000 [us], sleep_time 45000 [us]\n",
"2017-02-17 19:51:44,816 INFO : Workload : + phase_000003: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,817 INFO : Workload : | period 100000 [us], duty_cycle 50 %\n",
"2017-02-17 19:51:44,818 INFO : Workload : | run_time 50000 [us], sleep_time 50000 [us]\n",
"2017-02-17 19:51:44,820 INFO : Workload : + phase_000004: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,821 INFO : Workload : | period 100000 [us], duty_cycle 45 %\n",
"2017-02-17 19:51:44,822 INFO : Workload : | run_time 45000 [us], sleep_time 55000 [us]\n",
"2017-02-17 19:51:44,823 INFO : Workload : + phase_000005: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,824 INFO : Workload : | period 100000 [us], duty_cycle 40 %\n",
"2017-02-17 19:51:44,826 INFO : Workload : | run_time 40000 [us], sleep_time 60000 [us]\n",
"2017-02-17 19:51:44,827 INFO : Workload : + phase_000006: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,828 INFO : Workload : | period 100000 [us], duty_cycle 35 %\n",
"2017-02-17 19:51:44,829 INFO : Workload : | run_time 35000 [us], sleep_time 65000 [us]\n",
"2017-02-17 19:51:44,830 INFO : Workload : + phase_000007: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,831 INFO : Workload : | period 100000 [us], duty_cycle 30 %\n",
"2017-02-17 19:51:44,832 INFO : Workload : | run_time 30000 [us], sleep_time 70000 [us]\n",
"2017-02-17 19:51:44,833 INFO : Workload : + phase_000008: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,834 INFO : Workload : | period 100000 [us], duty_cycle 25 %\n",
"2017-02-17 19:51:44,836 INFO : Workload : | run_time 25000 [us], sleep_time 75000 [us]\n",
"2017-02-17 19:51:44,837 INFO : Workload : + phase_000009: duration 0.500000 [s] (5 loops)\n",
"2017-02-17 19:51:44,838 INFO : Workload : | period 100000 [us], duty_cycle 20 %\n",
"2017-02-17 19:51:44,839 INFO : Workload : | run_time 20000 [us], sleep_time 80000 [us]\n",
"2017-02-17 19:51:50,397 INFO : Workload : Workload execution START:\n",
"2017-02-17 19:51:50,399 INFO : Workload : /root/devlib-target/bin/rt-app /root/devlib-target/ramp_00.json 2>&1\n"
]
}
],
"source": [
"experiment(te)"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Parse Trace and Profiling Data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:51:59,998 INFO : root : Content of the output folder /data/Code/lisa/results/TraceAnalysis_TaskLatencies\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[01;34m/data/Code/lisa/results/TraceAnalysis_TaskLatencies\u001b[00m\r\n",
"├── output.log\r\n",
"├── platform.json\r\n",
"├── ramp_00.json\r\n",
"├── rt-app-ramp-0.log\r\n",
"├── \u001b[01;35mtask_activations_5019_5019__ramp,_rt-app.png\u001b[00m\r\n",
"├── \u001b[01;35mtask_activations_5083_5083__ramp,_rt-app.png\u001b[00m\r\n",
"├── \u001b[01;35mtask_latencies_5019_5019__ramp,_rt-app.png\u001b[00m\r\n",
"├── \u001b[01;35mtask_latencies_5083_5083__ramp,_rt-app.png\u001b[00m\r\n",
"├── \u001b[01;35mtask_runtimes_5019_5019__ramp,_rt-app.png\u001b[00m\r\n",
"├── \u001b[01;35mtask_runtimes_5083_5083__ramp,_rt-app.png\u001b[00m\r\n",
"├── trace.dat\r\n",
"├── trace.raw.txt\r\n",
"└── trace.txt\r\n",
"\r\n",
"0 directories, 13 files\r\n"
]
}
],
"source": [
"# Base folder where tests folder are located\n",
"res_dir = te.res_dir\n",
"logging.info('Content of the output folder %s', res_dir)\n",
"!tree {res_dir}"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:52:00,120 INFO : root : LITTLE cluster max capacity: 447\n"
]
}
],
"source": [
"with open(os.path.join(res_dir, 'platform.json'), 'r') as fh:\n",
" platform = json.load(fh)\n",
"logging.info('LITTLE cluster max capacity: %d',\n",
" platform['nrg_model']['little']['cpu']['cap_max'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [],
"source": [
"trace_file = os.path.join(res_dir, 'trace.dat')\n",
"trace = Trace(platform, trace_file, events=my_conf['ftrace']['events'])"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true,
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Trace visualization"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"marked": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"/*\n",
" * Copyright 2015-2016 ARM Limited\n",
" *\n",
" * Licensed under the Apache License, Version 2.0 (the \"License\");\n",
" * you may not use this file except in compliance with the License.\n",
" * You may obtain a copy of the License at\n",
" *\n",
" * http://www.apache.org/licenses/LICENSE-2.0\n",
" *\n",
" * Unless required by applicable law or agreed to in writing, software\n",
" * distributed under the License is distributed on an \"AS IS\" BASIS,\n",
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
" * See the License for the specific language governing permissions and\n",
" * limitations under the License.\n",
" */\n",
"\n",
".d3-tip {\n",
" line-height: 1;\n",
" padding: 12px;\n",
" background: rgba(0, 0, 0, 0.6);\n",
" color: #fff;\n",
" border-radius: 2px;\n",
" position: absolute !important;\n",
" z-index: 99999;\n",
"}\n",
"\n",
".d3-tip:after {\n",
" box-sizing: border-box;\n",
" pointer-events: none;\n",
" display: inline;\n",
" font-size: 10px;\n",
" width: 100%;\n",
" line-height: 1;\n",
" color: rgba(0, 0, 0, 0.6);\n",
" content: \"\\25BC\";\n",
" position: absolute !important;\n",
" z-index: 99999;\n",
" text-align: center;\n",
"}\n",
"\n",
".d3-tip.n:after {\n",
" margin: -1px 0 0 0;\n",
" top: 100%;\n",
" left: 0;\n",
"}\n",
"\n",
".contextRect {\n",
" fill: lightgray;\n",
" fill-opacity: 0.5;\n",
" stroke: black;\n",
" stroke-width: 1;\n",
" stroke-opacity: 1;\n",
" pointer-events: none;\n",
" shape-rendering: crispEdges;\n",
"}\n",
"\n",
".chart {\n",
" shape-rendering: crispEdges;\n",
"}\n",
"\n",
".mini text {\n",
" font: 9px sans-serif;\n",
"}\n",
"\n",
".main text {\n",
" font: 12px sans-serif;\n",
"}\n",
"\n",
".axis line, .axis path {\n",
" stroke: black;\n",
"}\n",
"\n",
".miniItem {\n",
" stroke-width: 8;\n",
"}\n",
"\n",
".brush .extent {\n",
"\n",
" stroke: #000;\n",
" fill-opacity: .125;\n",
" shape-rendering: crispEdges;\n",
"}\n",
"</style>\n",
"<div id=\"fig_e8324f643f014ec883a657afdd65f813\" class=\"eventplot\">\n",
"<!-- TRAPPY_PUBLISH_SOURCE_LIB = \"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js\" -->\n",
"<!-- TRAPPY_PUBLISH_SOURCE_LIB = \"http://labratrevenge.com/d3-tip/javascripts/d3.tip.v0.6.3.js\" -->\n",
"\n",
" <script>\n",
" /* TRAPPY_PUBLISH_IMPORT = \"plotter/js/EventPlot.js\" */\n",
" /* TRAPPY_PUBLISH_REMOVE_START */\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",
" waitSeconds: 15,\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",
" /* TRAPPY_PUBLISH_REMOVE_STOP */\n",
" \n",
" req([\"require\", \"EventPlot\"], function() { /* TRAPPY_PUBLISH_REMOVE_LINE */\n",
" EventPlot.generate('fig_e8324f643f014ec883a657afdd65f813', '/nbextensions/', {\"lanes\": [{\"id\": 0, \"label\": \"CPU :0\"}, {\"id\": 1, \"label\": \"CPU :1\"}, {\"id\": 2, \"label\": \"CPU :2\"}, {\"id\": 3, \"label\": \"CPU :3\"}, {\"id\": 4, \"label\": \"CPU :4\"}, {\"id\": 5, \"label\": \"CPU :5\"}], \"colorMap\": null, \"keys\": [\"ramp-5144\", \"sh-5138\", \"sh-5140\", \"sh-5148\", \"sh-5141\", \"sshd-5146\", \"sshd-5145\", \"sh-5150\", \"sudo-5147\", \"sh-5145\", \"shutils-5142\", \"shutils-5149\", \"sh-5146\", \"sh-5139\", \"sudo-5152\", \"sudo-5138\", \"sudo-5141\", \"sudo-5139\", \"sh-5151\", \"sh-5143\", \"sh-5152\", \"shutils-5148\", \"sudo-5136\", \"sudo-5148\", \"sudo-5150\", \"sudo-5140\", \"sudo-5153\", \"shutils-5141\", \"sh-5147\", \"scp-5146\", \"sudo-5151\", \"rt-app-5143\", \"sh-5096\", \"jbd2/sda2-8-1290\", \"rt-app-5144\", \"scp-5145\", \"sshd-4428\", \"ksoftirqd/0-3\", \"init-1\", \"syslogd-1524\", \"rpcbind-1503\", \"ksoftirqd/1-17\", \"ksoftirqd/2-23\", \"kworker/u12:2-5043\", \"kworker/0:1-853\", \"kworker/3:1H-1371\", \"kworker/u12:1-4563\", \"rcu_preempt-7\", \"kworker/3:1-852\", \"usb-storage-1262\", \"rcu_sched-8\", \"kworker/2:1-4597\", \"kworker/1:1-4041\", \"watchdog/3-27\", \"watchdog/4-33\", \"watchdog/5-39\", \"watchdog/0-12\", \"kworker/0:1H-1349\", \"kworker/1:1H-1288\", \"watchdog/2-21\", \"watchdog/1-15\", \"kworker/2:1H-1289\"], \"stride\": false, \"showSummary\": true, \"xDomain\": [1.3000040780752897e-05, 8.132880000048317], \"data\": {\"ramp-5144\": {\"1\": [[1.77915600000415, 2.4942889999947511], [2.4943290000082925, 2.4958880000049248], [2.4959019999951124, 2.4962820000364445], [2.4962910000467673, 2.506273000035435], [2.5062870000256225, 2.5697590000345372]], \"2\": [[2.5791550000431016, 2.6386630000197329], [2.6789299999945797, 2.7384639999945648], [2.7789270000066608, 2.8329750000266358], [2.8789280000491999, 2.8982770000002347], [2.8982860000105575, 2.933167000010144], [2.9789239999954589, 3.032984999998007], [3.078925000037998, 3.1330719999969006], [3.1789250000147149, 3.2332330000353977], [3.2789610000327229, 3.3277450000168756], [3.3789289999986067, 3.427694000012707], [3.4789260000106879, 3.4982790000503883], [3.4982970000128262, 3.527819000009913], [3.5789300000178628, 3.6275560000212863], [3.6789270000299439, 3.6982820000266656], [3.6983140000374988, 3.6998759999987669], [3.6998870000243187, 3.6999310000101104], [3.6999410000280477, 3.7229159999988042], [3.7789210000191815, 3.8149760000524111], [3.8789209999958985, 3.9149340000003576], [3.9789200000232086, 4.0147989999968559], [4.0789190000505187, 4.1149960000184365], [4.1789200000348501, 4.2147790000308305], [4.278920000011567, 4.3102460000081919], [4.3789209999958985, 4.4105400000116788], [4.4789200000232086, 4.5104560000472702], [4.578923000022769, 4.5823059999966063], [4.5823230000096373, 4.6104880000348203], [4.6789229999994859, 4.7105300000403076], [4.778920000011567, 4.8058220000239089], [4.8789209999958985, 4.8982810000306927], [4.8983090000110678, 4.8998520000022836], [4.8998660000506788, 4.9001419999985956], [4.9001520000165328, 4.9075339999981225], [4.9789280000259168, 5.0114509999984875], [5.0789220000151545, 5.1116000000038184], [5.1789280000375584, 5.2111720000393689], [5.2789270000066608, 5.3061040000175126], [5.3789270000415854, 5.4060920000192709], [5.4789270000183024, 5.5060870000161231], [5.5789290000102483, 5.6059840000234544], [5.6789270000299439, 5.706021000049077], [5.7789310000371188, 5.8007240000297315], [5.8789280000491999, 5.9005950000137091], [5.9789540000492707, 6.0004340000450611], [6.0789520000107586, 6.1006420000339858], [6.1790010000113398, 6.2155050000292249], [6.2789970000158064, 6.2792740000295453]]}, \"sudo-5141\": {\"2\": [[0.98492900002747774, 0.98720100003993139]]}, \"sudo-5140\": {\"1\": [[1.0091150000225753, 1.0109590000356548]], \"2\": [[0.98720100003993139, 0.98723300005076453]]}, \"sudo-5147\": {\"1\": [[6.6703590000397526, 6.6783520000171848], [6.6783740000100806, 6.6784430000116117], [6.6784620000398718, 6.681432000012137], [6.6815570000326261, 6.6844780000392348], [6.6868269999977201, 6.6868580000009388], [6.7079370000283234, 6.7097200000425801]]}, \"kworker/2:1H-1289\": {\"2\": [[7.7575130000477657, 7.7575200000428595], [7.7594600000302307, 7.759468000032939]]}, \"sh-5138\": {\"0\": [[0.31390599999576807, 0.31450300000142306]], \"1\": [[0.31465499999467283, 0.32690800004638731]]}, \"kworker/u12:2-5043\": {\"0\": [[0.31070000003091991, 0.31071000004885718], [0.31095200002891943, 0.3109620000468567], [0.31103500002063811, 0.31104600004618987], [0.31111800001235679, 0.31112700002267957], [0.31119900004705414, 0.31126200000289828]], \"1\": [[0.31171300000278279, 0.31175500003155321], [0.31221400003414601, 0.3122950000106357], [0.33875799999805167, 0.33883100003004074], [0.96476800000527874, 0.96481900004437193], [0.96500000002561137, 0.96504900004947558], [0.96519900002749637, 0.96524600003613159], [0.96542399999452755, 0.96547200001077726], [0.9656470000045374, 0.96569600002840161], [0.96584499999880791, 0.96589300001505762], [0.96609900001203641, 0.96614800003590062], [0.96639200003119186, 0.9664409999968484], [0.96665200003189966, 0.9667030000127852], [1.7728800000040792, 1.7729010000475682], [1.773107000044547, 1.7732410000171512], [1.7734040000359528, 1.7734700000146404], [1.7735510000493377, 1.7736110000405461], [6.4341980000026524, 6.4342080000205897], [6.6639000000432134, 6.6639650000142865], [6.6642500000307336, 6.664325000019744], [6.6643780000158586, 6.6643900000490248], [6.6644380000070669, 6.6644490000326186], [6.6645020000287332, 6.6645100000314415], [6.6652820000308566, 6.6653120000264607], [6.6653670000378042, 6.665376000048127], [6.6654280000366271, 6.6654410000192001], [6.6654900000430644, 6.665502000018023], [6.6655520000495017, 6.6655630000168458], [6.6656139999977313, 6.6656250000232831], [6.6656760000041686, 6.6656870000297204], [6.6657370000029914, 6.6657480000285432], [6.6657990000094287, 6.6658100000349805], [6.6658620000234805, 6.6658720000414178], [6.6659280000021681, 6.6659429999999702], [6.6660210000118241, 6.6660690000280738], [6.6661290000192821, 6.6661360000143759], [7.4711430000024848, 7.4711470000329427], [7.4712660000077449, 7.4713170000468381], [7.4716720000142232, 7.471804000029806], [7.4724410000490025, 7.4724480000440963], [7.4725489999982528, 7.4727040000143461], [7.4751160000450909, 7.4751360000227578], [7.4752460000454448, 7.475276000041049], [7.4755890000378713, 7.4756300000008196], [7.4757899999967776, 7.4757960000424646], [7.4775060000247322, 7.4775230000377633], [7.4776920000440441, 7.4777300000423566], [8.1214850000105798, 8.1214890000410378], [8.1215550000197254, 8.1216080000158399], [8.121859000006225, 8.1218670000089332], [8.1220520000206307, 8.1220880000037141]], \"2\": [[0.96043200005078688, 0.9605040000169538], [0.96077200002036989, 0.96086000005016103], [0.9645989999989979, 0.96462300000712276], [0.96697800001129508, 0.96705600002314895], [7.4728280000272207, 7.4728420000174083], [7.4731550000142306, 7.4731960000353865], [7.4739629999967292, 7.4739690000424162], [7.474136000033468, 7.4741769999964163], [7.474729000008665, 7.4748480000416748], [7.4759320000302978, 7.4759650000487454], [7.4763150000362657, 7.4763490000041202], [7.4765400000032969, 7.476574000029359], [7.476881000038702, 7.4769250000244938], [7.4772280000033788, 7.4773020000429824], [7.4779390000039712, 7.4779550000093877], [7.4780759999994189, 7.4782040000427514], [7.4784240000299178, 7.4784280000021681], [7.478763000050094, 7.4789009999949485], [7.4791229999973439, 7.4791870000190102], [7.479466000047978, 7.4795000000158325], [7.4798010000376962, 7.4798750000190921], [7.4800920000416227, 7.4800970000214875], [7.4802760000457056, 7.4803090000059456], [7.4805770000093617, 7.4806059999973513], [7.4809080000268295, 7.4810390000347979], [7.4813380000414327, 7.4813740000245161]], \"3\": [[0.30956200003856793, 0.30961799999931827], [0.3097940000006929, 0.3098510000272654], [0.31001700001070276, 0.31002500001341105], [0.3101909999968484, 0.31020300003001466], [0.31037400005152449, 0.31039600004442036], [0.31056000001262873, 0.3106450000195764]]}, \"ksoftirqd/1-17\": {\"1\": [[0.33434600004693493, 0.33448900002986193], [6.2818970000371337, 6.2819850000087172]]}, \"watchdog/4-33\": {\"4\": [[2.9864539999980479, 2.9864769999985583], [6.9864890000317246, 6.9865140000474639]]}, \"kworker/1:1-4041\": {\"1\": [[0.97053700004471466, 0.97057800000766292], [2.4942889999947511, 2.4943290000082925], [2.4958880000049248, 2.4959019999951124], [2.4962820000364445, 2.4962910000467673], [2.506273000035435, 2.5062870000256225], [6.2819850000087172, 6.2820230000070296], [6.2823500000522472, 6.2823690000222996], [6.5063979999977164, 6.5064270000439137], [7.3152620000182651, 7.3153110000421293], [7.3172260000137612, 7.3172480000066571], [7.3172769999946468, 7.3172860000049695], [7.5304720000131056, 7.5304849999956787]]}, \"kworker/0:1-853\": {\"0\": [[0.52248100005090237, 0.52251300000352785], [0.79840700002387166, 0.79845600004773587], [0.79990000004181638, 0.79993600002489984], [0.79996700002811849, 0.79999600001610816], [1.5465480000129901, 1.5465940000140108], [2.570703000004869, 2.5707470000488684], [3.5305790000129491, 3.5306300000520423], [3.8864940000348724, 3.8865729999961331], [3.8881090000504628, 3.8881490000057966], [3.8881700000492856, 3.888191000034567], [6.2905260000261478, 6.2905780000146478], [6.2922340000513941, 6.2922910000197589], [6.2923130000126548, 6.2923480000463314], [7.4944200000027195, 7.4944890000042506], [7.4961350000230595, 7.4961670000338927], [7.4961840000469238, 7.4961990000447258], [7.4984430000185966, 7.4984670000267215]]}, \"init-1\": {\"0\": [[3.2280880000325851, 3.2282840000116266]]}, \"jbd2/sda2-8-1290\": {\"0\": [[1.6145729999989271, 1.6146360000129789], [1.6187510000308976, 1.6191660000476986]], \"1\": [[7.7543880000011995, 7.7546390000497922], [7.7574830000521615, 7.7575840000063181]], \"2\": [[1.6215899999951944, 1.6216280000517145], [7.7594709999975748, 7.7595300000393763]], \"3\": [[1.6106910000089556, 1.6116400000173599]]}, \"rpcbind-1503\": {\"0\": [[3.3551260000094771, 3.3552890000282787]]}, \"sh-5151\": {\"2\": [[7.4954670000006445, 7.4976840000017546]]}, \"sh-5152\": {\"1\": [[8.123665000020992, 8.1263110000290908]], \"2\": [[8.1232630000449717, 8.123576000041794]]}, \"sh-5153\": {\"1\": [[8.132880000048317, 8.132880000048317]]}, \"scp-5145\": {\"1\": [[6.4720220000017434, 6.4720510000479408]], \"2\": [[6.4729750000406057, 6.4731590000446886], [6.4745100000291131, 6.4751260000048205]]}, \"kworker/1:1H-1288\": {\"1\": [[1.6104120000381954, 1.610428000043612]]}, \"rt-app-5144\": {\"1\": [[1.7785880000446923, 1.7790210000239313]]}, \"shutils-5141\": {\"2\": [[0.998468000034336, 1.0010159999947064], [1.005585000035353, 1.0056210000184365], [1.0057610000367276, 1.0057709999964572], [1.005927000020165, 1.0059370000381023], [1.0060950000188313, 1.0061050000367686], [1.0062599999946542, 1.0063899999950081], [1.0065940000349656, 1.0066160000278614], [1.0069329999969341, 1.0090290000080131]]}, \"sh-5150\": {\"0\": [[7.4846680000191554, 7.4857730000512674]], \"1\": [[7.4859140000189655, 7.4925539999967441]]}, \"ksoftirqd/2-23\": {\"2\": [[0.99039099999936298, 0.99053300003288314], [0.99839500000234693, 0.998468000034336], [7.7574299999978393, 7.7575130000477657], [7.7575200000428595, 7.7575300000025891], [7.7593670000205748, 7.7594600000302307], [7.759468000032939, 7.7594709999975748]]}, \"rcu_preempt-7\": {\"0\": [[0.026563999999780208, 0.026590000023134053], [0.034549000032711774, 0.034582000051159412], [0.042530000035185367, 0.042567000025883317], [0.050522000005003065, 0.050554000015836209], [0.074469000042881817, 0.074495000008028001], [0.08251500001642853, 0.082553000014740974], [0.090401000052224845, 0.090416000050026923], [0.30255400005262345, 0.30258100002538413], [0.3107880000025034, 0.31081799999810755], [0.31840300001204014, 0.31841800000984222], [0.32235000003129244, 0.3223670000443235], [0.33051100000739098, 0.33052900002803653], [0.33839200000511482, 0.33840500004589558], [0.35464400000637397, 0.35467000002972782], [0.36251500004436821, 0.36254300002474338], [0.37051200005225837, 0.37054500001249835], [0.37851300003239885, 0.37854600005084649], [0.38651100004790351, 0.38653900002827868], [0.79845600004773587, 0.79848200001288205], [0.80660800001351163, 0.80666200001724064], [0.81449499999871477, 0.81452500005252659], [0.97051100002136081, 0.97059199999785051], [0.97862800001166761, 0.97868100000778213], [0.98662199999671429, 0.98667600000044331], [0.99462400004267693, 0.99469700001645833], [1.0025370000512339, 1.0026110000326298], [1.0106140000279993, 1.0106680000317283], [1.0186209999956191, 1.0186749999993481], [1.0266210000263527, 1.0266740000224672], [1.0346200000494719, 1.0346730000455864], [1.0426210000296123, 1.0426740000257269], [1.050617000029888, 1.0506620000232942], [1.0745680000400171, 1.0746060000383295], [1.082609000033699, 1.082665000052657], [1.0906070000492036, 1.0906520000426099], [1.7790249999961816, 1.7790960000129417], [1.7866300000459887, 1.7867040000273846], [1.7946100000408478, 1.7946540000266396], [1.7984680000226945, 1.7985050000133924], [1.8064740000409074, 1.8065150000038557], [1.8144719999982044, 1.8145020000520162], [2.7984780000406317, 2.7985179999959655], [2.8065870000282302, 2.8066439999965951], [2.8145870000007562, 2.814633000001777], [3.8865729999961331, 3.8866230000276119], [3.8944860000046901, 3.8945220000459813], [3.9024860000354238, 3.9025150000234134], [5.0784110000240617, 5.0784379999968223], [5.0864980000187643, 5.0865340000018477], [5.0944950000266545, 5.0945260000298731], [5.8264130000025034, 5.8264400000334717], [5.8345350000308827, 5.8345750000444241], [5.9625720000476576, 5.9625959999975748], [6.2824860000400804, 6.2825130000128411], [6.2905780000146478, 6.2906130000483245], [6.2984949999954551, 6.2985470000421628], [6.3064750000485219, 6.3065310000092722], [6.3144710000487976, 6.3145160000422038], [6.4625180000439286, 6.4625579999992624], [6.4706170000135899, 6.4706730000325479], [6.4784870000439696, 6.4785390000324696], [6.4866140000522137, 6.4866670000483282], [8.1025680000311695, 8.1026000000420026]], \"1\": [[0.34639400005107746, 0.34642200003145263], [6.4945040000020526, 6.49453300004825], [6.5024620000040159, 6.5025000000023283], [6.5103610000223853, 6.5103870000457391], [6.5184400000143796, 6.5184640000225045], [6.5265260000014678, 6.5265510000172071], [6.5345250000245869, 6.5345500000403263], [6.5424409999977797, 6.5424590000184253], [6.5426600000355393, 6.5426820000284351], [6.5504400000208989, 6.5504590000491589], [6.5785550000146031, 6.5785720000276342], [6.5864540000329725, 6.5864710000460036], [6.586693000048399, 6.5867140000336803], [6.5944500000332482, 6.5944690000033006], [6.6703400000114925, 6.6703590000397526], [6.6783520000171848, 6.6783740000100806], [6.6784430000116117, 6.6784620000398718], [6.6863390000071377, 6.6863650000304915], [6.6943440000177361, 6.6943719999981113], [6.7104320000507869, 6.7104629999957979], [6.7183340000337921, 6.7183570000343025], [6.7263400000520051, 6.7263650000095367], [6.7344390000216663, 6.7344630000297911], [6.7424390000523999, 6.7424580000224523], [7.1586160000297241, 7.1586400000378489], [7.1665370000409894, 7.1665619999985211], [7.1670810000505298, 7.1671100000385195], [7.1745310000260361, 7.1745579999987967], [7.3345890000346117, 7.3346050000400282], [7.3424550000345334, 7.34247100003995], [7.3428290000301786, 7.342848000000231], [7.3504650000249967, 7.3504820000380278], [7.4825140000320971, 7.4825280000222847], [8.086637000029441, 8.0866570000071079], [8.1106060000020079, 8.11062099999981], [8.1263110000290908, 8.1263230000040494]], \"2\": [[0.010634000005666167, 0.010660000029020011], [0.0184490000247024, 0.018467000045347959], [0.018689999997150153, 0.018711000040639192], [6.7024090000195429, 6.7024540000129491], [7.4942860000301152, 7.4943140000104904], [7.5023010000004433, 7.5023130000336096], [7.5144580000196584, 7.5144710000022314], [7.5224480000324547, 7.5224600000074133], [7.5303830000339076, 7.5303930000518449], [7.5305610000505112, 7.5305710000102408], [7.5383819999988191, 7.5383940000319853], [7.5463820000295527, 7.5463910000398755], [8.058508999994956, 8.0585240000509657], [8.0664439999964088, 8.0664650000398979], [8.0744650000124238, 8.0744820000254549], [8.0785040000337176, 8.0785190000315197], [8.0946310000144877, 8.0946550000226125]], \"3\": [[5.8425730000017211, 5.8426050000125542]]}, \"watchdog/2-21\": {\"2\": [[2.8982770000002347, 2.8982860000105575], [6.8984440000494942, 6.8984570000320673]]}, \"kworker/3:1H-1371\": {\"3\": [[1.6116400000173599, 1.6117530000046827], [1.6188490000204183, 1.6188740000361577], [7.4983910000300966, 7.4984040000126697]]}, \"watchdog/0-12\": {\"0\": [[2.8104530000127852, 2.8104720000410452], [6.8104960000491701, 6.8105210000067018]]}, \"rt-app-5143\": {\"1\": [[1.7784280000487342, 1.7785880000446923], [6.2795520000508986, 6.2804490000125952]]}, \"ksoftirqd/0-3\": {\"0\": [[0.31071000004885718, 0.3107880000025034], [0.31081799999810755, 0.31087600003229454], [0.96390700002666563, 0.96410500002093613], [0.96635400003287941, 0.96642100001918152], [1.6118480000295676, 1.6120020000380464], [1.6136220000335015, 1.6140160000068136], [1.7737990000168793, 1.7738220000173897], [6.6652560000075027, 6.6653330000117421], [6.6653790000127628, 6.6654280000366271], [7.4743270000326447, 7.4743510000407696]]}, \"kworker/3:1-852\": {\"3\": [[2.5706789999967441, 2.5707399999955669], [5.9625640000449494, 5.9625959999975748]]}, \"scp-5146\": {\"1\": [[6.5064270000439137, 6.5076090000220574], [6.5086609999998473, 6.5087790000252426], [6.5097360000363551, 6.5103610000223853], [6.5103870000457391, 6.5105060000205413]]}, \"watchdog/5-39\": {\"5\": [[3.0304520000354387, 3.0304750000359491], [7.0304870000109076, 7.030512000026647]]}, \"sudo-5148\": {\"1\": [[6.6844780000392348, 6.6863390000071377], [6.6863650000304915, 6.6868269999977201]]}, \"sudo-5150\": {\"1\": [[7.4926290000439622, 7.4941490000346676], [7.4977599999983795, 7.4987490000203252]], \"2\": [[7.4954470000229776, 7.4954670000006445]]}, \"sudo-5151\": {\"1\": [[7.4941490000346676, 7.4945840000291355]], \"2\": [[7.4946880000061356, 7.4954470000229776]]}, \"sudo-5152\": {\"1\": [[8.1263230000040494, 8.1300679999985732], [8.1301420000381768, 8.1316870000446215], [8.1328630000352859, 8.132880000048317]]}, \"sudo-5153\": {\"1\": [[8.1316870000446215, 8.1328630000352859]]}, \"usb-storage-1262\": {\"1\": [[6.2811330000404269, 6.2811620000284165], [6.2818790000164881, 6.2818970000371337], [7.7575840000063181, 7.7575979999965057], [7.7577940000337549, 7.7578140000114217]], \"2\": [[1.6113120000227354, 1.6113410000107251], [1.6119780000299215, 1.6120250000385568], [1.6125630000024103, 1.6125910000409931], [1.614000000001397, 1.6140160000068136], [1.6148000000393949, 1.6148200000170618], [1.6151290000416338, 1.6151970000355504], [1.617506000038702, 1.6175380000495352], [1.6184920000378042, 1.6185070000356063], [1.6192600000067614, 1.6192790000350215], [1.6196130000171252, 1.6196590000181459], [1.6204900000011548, 1.6205210000043735], [1.6213590000406839, 1.6213730000308715], [6.2804420000175014, 6.2804960000212304], [6.2807340000290424, 6.2807870000251569], [7.7547120000235736, 7.7547310000518337], [7.7550510000437498, 7.7551000000094064], [7.7560620000003837, 7.7560810000286438], [7.7574190000304952, 7.7574299999978393], [7.7583580000209622, 7.7583910000394098], [7.7593470000429079, 7.7593670000205748]]}, \"kworker/2:1-4597\": {\"2\": [[0.97034500003792346, 0.97039299999596551], [2.570469000027515, 2.5705000000307336], [3.4982790000503883, 3.4982970000128262], [3.6982820000266656, 3.6983140000374988], [3.6998759999987669, 3.6998870000243187], [3.6999310000101104, 3.6999410000280477], [4.5823059999966063, 4.5823230000096373], [4.8982810000306927, 4.8983090000110678], [4.8998520000022836, 4.8998660000506788], [4.9001419999985956, 4.9001520000165328], [5.5264630000456236, 5.5264930000412278], [6.1006540000089444, 6.1006820000475273], [6.1024080000352114, 6.1024480000487529], [6.1025960000115447, 6.1026160000474192], [6.5063190000364557, 6.5063690000097267], [7.3384310000110418, 7.3384460000088438], [7.4982920000329614, 7.4983140000258572]]}, \"sh-5147\": {\"1\": [[6.6694280000519939, 6.6703400000114925]], \"2\": [[6.6687390000442974, 6.6693130000494421]]}, \"sh-5146\": {\"1\": [[6.5034970000269823, 6.5063979999977164]]}, \"sh-5145\": {\"1\": [[6.4678280000225641, 6.4718280000379309]]}, \"shutils-5148\": {\"1\": [[6.6943719999981113, 6.7005490000010468], [6.704574000032153, 6.7046110000228509], [6.7047560000210069, 6.7047679999959655], [6.7049270000425167, 6.7049370000022464], [6.7050950000411831, 6.7051040000515059], [6.705258000001777, 6.7052670000120997], [6.705420000012964, 6.7054300000309013], [6.7057840000488795, 6.7079370000283234]]}, \"sh-5143\": {\"1\": [[1.7756550000049174, 1.7781770000001416]], \"2\": [[1.7749530000146478, 1.7755389999947511]]}, \"sh-5141\": {\"2\": [[0.98723300005076453, 0.99039099999936298], [0.99053300003288314, 0.99839500000234693]]}, \"sh-5140\": {\"1\": [[0.96933000005083159, 0.96990100003313273]], \"2\": [[0.97001800005091354, 0.97034500003792346], [0.97039299999596551, 0.98492900002747774]]}, \"shutils-5142\": {\"1\": [[1.0034070000401698, 1.0068840000312775]], \"2\": [[1.0010159999947064, 1.0032910000300035]]}, \"sudo-5138\": {\"1\": [[0.32703600003151223, 0.32987400004640222], [0.33211200003279373, 0.33214500005124137], [0.33648200001334772, 0.33825700002489612]]}, \"sudo-5139\": {\"1\": [[0.32987400004640222, 0.33211200003279373]]}, \"watchdog/1-15\": {\"1\": [[2.8544170000241138, 2.8544260000344366], [6.8544410000322387, 6.8544540000148118]]}, \"sh-5148\": {\"1\": [[6.6868580000009388, 6.6943440000177361]]}, \"syslogd-1524\": {\"1\": [[0.32690800004638731, 0.32703600003151223], [0.98209300002781674, 0.9822540000313893], [6.681432000012137, 6.6815570000326261], [7.4925539999967441, 7.4926290000439622], [8.1300679999985732, 8.1301420000381768]]}, \"watchdog/3-27\": {\"3\": [[2.9424920000019483, 2.9425170000176877], [6.942486000014469, 6.9425100000225939]]}, \"kworker/0:1H-1349\": {\"0\": [[1.621571000025142, 1.6215930000180379]]}, \"sshd-4428\": {\"0\": [[0.0025260000256821513, 0.0027810000465251505], [0.15462500002468005, 0.15483100002165884], [0.15490200003841892, 0.15493200003402308], [0.15508200001204386, 0.15522600000258535], [0.15535700001055375, 0.15544500004034489], [0.1556430000346154, 0.15579200000502169], [0.96335400000680238, 0.96390700002666563], [1.0115210000076331, 1.0118760000332259], [1.6114880000241101, 1.6118480000295676], [1.6125849999953061, 1.6131420000456274], [1.6133490000502206, 1.6136220000335015], [1.769220000016503, 1.7695940000121482], [1.7700480000348762, 1.7730770000489429]], \"1\": [[0.15602900000521913, 0.15637900005094707], [0.1567650000215508, 0.15691900003002957], [0.30857100000139326, 0.3088080000015907], [0.30949100002180785, 0.30971699999645352], [0.30978100001811981, 0.30991100001847371], [0.31095500005176291, 0.31120799999916926], [0.3122950000106357, 0.31253900000592694], [0.33883100003004074, 0.33904600003734231], [0.96015400002943352, 0.96033900004113093], [0.96084900002460927, 0.96099600003799424], [0.96112600003834814, 0.96123300003819168], [0.96135500003583729, 0.96143500000471249], [0.96155400003772229, 0.96165800001472235], [0.96177799999713898, 0.96185400005197152], [0.96197300002677366, 0.96210300002712756], [0.96222600003238767, 0.96236900001531467], [0.96249200002057478, 0.96265200001653284], [0.96396399999503046, 0.96410400001332164], [0.96456200000829995, 0.96470300003420562], [0.96481900004437193, 0.96492500003660098], [0.96504900004947558, 0.96512500004610047], [0.96524600003613159, 0.96535000001313165], [0.96547200001077726, 0.96557200001552701], [0.96569600002840161, 0.9657720000250265], [0.96589300001505762, 0.96602300001541153], [0.96614800003590062, 0.96631400001933798], [0.9664409999968484, 0.96657600003527477], [0.9667030000127852, 0.96680500003276393], [1.7732410000171512, 1.7734040000359528], [1.7734700000146404, 1.7735510000493377], [1.7736110000405461, 1.7738160000299104], [1.7781770000001416, 1.7784280000487342], [1.7790210000239313, 1.77915600000415], [6.2793440000386909, 6.2795520000508986], [6.2812010000343435, 6.2813360000145622], [6.4331200000015087, 6.4332920000306331], [6.4342080000205897, 6.4343940000399016], [6.4560480000218377, 6.4562410000362433], [6.4570030000177212, 6.4592690000426956], [6.4614090000395663, 6.461583000025712], [6.4718280000379309, 6.4720220000017434], [6.4727790000033565, 6.4729079999960959], [6.4731370000517927, 6.4734630000311881], [6.4742130000377074, 6.4744050000444986], [6.4751590000232682, 6.475613999995403], [6.4761470000375994, 6.4762680000276305], [6.4931540000252426, 6.4933630000450648], [6.5114880000473931, 6.5116360000101849], [6.6637040000059642, 6.6639000000432134], [6.6639650000142865, 6.6640120000229217], [6.664325000019744, 6.6643780000158586], [6.6643900000490248, 6.6644380000070669], [6.6644490000326186, 6.6645020000287332], [6.6645100000314415, 6.6646210000035353], [6.6653120000264607, 6.6653670000378042], [6.665376000048127, 6.6654280000366271], [6.6654410000192001, 6.6654900000430644], [6.665502000018023, 6.6655520000495017], [6.6655630000168458, 6.6656139999977313], [6.6656250000232831, 6.6656760000041686], [6.6656870000297204, 6.6657370000029914], [6.6657480000285432, 6.6657990000094287], [6.6658100000349805, 6.6658620000234805], [6.6658720000414178, 6.6659280000021681], [6.6659429999999702, 6.6660210000118241], [6.6660690000280738, 6.6661290000192821], [6.6661360000143759, 6.6662540000397712], [6.6662990000331774, 6.6663580000167713], [6.6663720000069588, 6.6664200000232086], [6.6664310000487603, 6.6664880000171252], [6.6665000000502914, 6.6665480000083335], [6.6665590000338852, 6.6666170000098646], [6.6666310000000522, 6.6666760000516661], [6.6666880000266246, 6.6667890000389889], [6.666800000006333, 6.6668550000176765], [6.6668670000508428, 6.6669110000366345], [6.6669209999963641, 6.6669750000000931], [6.6669860000256449, 6.6670430000522174], [6.6670560000347905, 6.6671210000058636], [6.6673360000131652, 6.6675670000258833], [6.7102040000027046, 6.7104320000507869], [7.3153110000421293, 7.3155660000047646], [7.3158770000445656, 7.3159690000466071], [7.4708820000523701, 7.4710140000097454], [7.4711470000329427, 7.4712660000077449], [7.4724480000440963, 7.4725489999982528], [7.473052000044845, 7.4731330000213347], [7.4734320000279695, 7.4735550000332296], [7.4743750000488944, 7.4745220000040717], [7.4748649999964982, 7.4749890000093728], [7.4763479999965057, 7.4764610000420362], [7.4765730000217445, 7.4766769999987446], [7.477117000031285, 7.4772700000321493], [7.4775230000377633, 7.4776920000440441], [7.4781940000248142, 7.4783710000338033], [7.4784050000016578, 7.4785030000493862], [7.4788840000401251, 7.4790460000513121], [7.4797210000106134, 7.4800130000221543], [7.4803850000025705, 7.4804700000095181], [7.4808000000193715, 7.4808750000083819], [7.4812570000067353, 7.4814290000358596], [7.4989560000249185, 7.4990710000274703], [8.1208610000321642, 8.1210070000379346], [8.1214890000410378, 8.1215550000197254]], \"2\": [[0.31036100001074374, 0.31057800003327429], [0.31160700001055375, 0.31184900004882365], [0.96705600002314895, 0.96714900003280491], [0.96735900000203401, 0.96759900002507493], [0.96783100004540756, 0.96803099999669939], [6.4939130000420846, 6.496082000026945], [6.5034100000048056, 6.5035920000518672], [6.507677000015974, 6.5078560000401922], [6.5085590000380762, 6.5086860000155866], [6.508761000004597, 6.5089840000146069], [6.5096420000190847, 6.5097590000368655], [6.5102889999980107, 6.5103820000076666], [6.510441999998875, 6.5108870000112802], [7.3160220000427216, 7.3162149999989197], [7.3163400000194088, 7.3164220000035129], [7.3165420000441372, 7.3166300000157207], [7.3168000000296161, 7.3168550000409596], [7.3169160000397824, 7.3169550000457093], [7.3170140000293031, 7.3170520000276156], [7.3171100000035949, 7.3171570000122301], [7.3173220000462607, 7.3173880000249483], [7.3175020000198856, 7.3175630000187084], [7.4693689999985509, 7.4695230000070296], [7.470541000016965, 7.4706680000526831], [7.4715210000285879, 7.471646000049077], [7.471839000005275, 7.4719670000486076], [7.4726580000133254, 7.4728280000272207], [7.4738080000388436, 7.4739629999967292], [7.4739690000424162, 7.474136000033468], [7.4750980000244454, 7.4752460000454448], [7.4754700000048615, 7.4755750000476837], [7.4757500000414439, 7.4759320000302978], [7.4759650000487454, 7.4760370000149123], [7.4779550000093877, 7.4780759999994189], [7.4791870000190102, 7.479466000047978], [7.4800970000214875, 7.4802760000457056], [8.1216080000158399, 8.1217199999955483], [8.1218550000339746, 8.1218970000045374], [8.1220850000390783, 8.1221450000302866], [8.1223030000110157, 8.1223600000375882]]}, \"shutils-5149\": {\"1\": [[6.7005490000010468, 6.7028440000140108]], \"2\": [[6.7029610000317916, 6.7058290000422858]]}, \"rcu_sched-8\": {\"0\": [[0.010751000023446977, 0.010785999998915941], [0.018584000004921108, 0.018600000010337681]], \"2\": [[0.0027439999976195395, 0.0027980000013485551]]}, \"sshd-5145\": {\"1\": [[6.4592690000426956, 6.461382000008598]], \"2\": [[6.4615080000367016, 6.4677120000123978]]}, \"sshd-5146\": {\"2\": [[6.496082000026945, 6.5033840000396594]]}, \"sudo-5136\": {\"1\": [[1.3000040780752897e-05, 0.0018660000059753656]]}, \"sh-5096\": {\"0\": [[0.001998000021558255, 0.002457000024151057], [0.0027810000465251505, 0.0028030000394210219], [0.15493200003402308, 0.15502800000831485], [0.15522600000258535, 0.15530199999921024], [0.15544500004034489, 0.15558900003088638], [0.15579200000502169, 0.15586300002178177], [0.15591600001789629, 0.15602799999760464], [0.1560390000231564, 0.15610900003230199], [0.1561199999996461, 0.15618500002892688], [0.15619700000388548, 0.15626100002555177], [0.15627100004348904, 0.15670500003034249], [0.30889500002376735, 0.31070000003091991], [0.31087600003229454, 0.31095200002891943], [0.3109620000468567, 0.31103500002063811], [0.31104600004618987, 0.31111800001235679], [0.31112700002267957, 0.31119900004705414], [0.31126200000289828, 0.31390599999576807], [7.4699710000422783, 7.4704730000230484], [7.4705079999985173, 7.4706520000472665], [7.4707750000525266, 7.4743270000326447], [7.4743510000407696, 7.4846680000191554]], \"1\": [[0.96059400000376627, 0.9608379999990575], [0.96099600003799424, 0.96107300004223362], [0.96123300003819168, 0.96130600001197308], [0.96143500000471249, 0.96150600002147257], [0.96165800001472235, 0.96172900003148243], [0.96185400005197152, 0.96192400000290945], [0.96210300002712756, 0.96217700000852346], [0.96236900001531467, 0.96244200004730374], [0.96265200001653284, 0.96272300003329292], [0.96277000004192814, 0.96283500001300126], [0.96284600003855303, 0.96291000000201166], [0.96292000001994893, 0.96298400004161522], [0.962993000051938, 0.96305800002301112], [0.96306800004094839, 0.96313300001202151], [0.96314400003757328, 0.96320800000103191], [0.96321800001896918, 0.96328200004063547], [0.96329200000036508, 0.96335700002964586], [0.96336700004758313, 0.96343300002627075], [0.96344300004420802, 0.96350800001528114], [0.96351900004083291, 0.96358400001190603], [0.96359500003745779, 0.96366000000853091], [0.96366900001885369, 0.96373499999754131], [0.96374500001547858, 0.96381000004475936], [0.96382100001210347, 0.96388600004138425], [0.96410400001332164, 0.96456200000829995], [0.96470300003420562, 0.96476800000527874], [0.96492500003660098, 0.96500000002561137], [0.96512500004610047, 0.96519900002749637], [0.96535000001313165, 0.96542399999452755], [0.96557200001552701, 0.9656470000045374], [0.9657720000250265, 0.96584499999880791], [0.96602300001541153, 0.96609900001203641], [0.96631400001933798, 0.96639200003119186], [0.96657600003527477, 0.96665200003189966], [0.96680500003276393, 0.96705200005089864], [0.96705999999539927, 0.96713200001977384], [0.96719600004144013, 0.96726600005058572], [0.96727600001031533, 0.96734400000423193], [0.9673540000221692, 0.9674230000237003], [0.96743200003402308, 0.96750100003555417], [0.96751099999528378, 0.96757999999681488], [0.96764700004132465, 0.96933000005083159], [1.0109590000356548, 1.0113120000460185], [6.2804490000125952, 6.2807690000045113], [6.4337090000044554, 6.4341980000026524], [6.4343940000399016, 6.4344260000507347], [6.7097200000425801, 6.7100780000328086], [7.4987490000203252, 7.4989230000064708], [7.4990710000274703, 7.4990890000481158]], \"2\": [[0.33834600000409409, 0.33868400001665577], [1.6120250000385568, 1.6121170000405982], [1.6121700000367127, 1.6122409999952652], [1.6122520000208169, 1.6123179999995045], [1.6123280000174418, 1.6123930000467226], [1.6124040000140667, 1.6124670000281185], [1.6124770000460558, 1.6125400000018999], [1.6125500000198372, 1.6125630000024103], [1.6125910000409931, 1.6126550000044517], [1.6126660000300035, 1.6127260000212118], [1.6127370000467636, 1.6129240000154823], [1.6129360000486486, 1.6130840000114404], [1.6131920000188984, 1.6132199999992736], [1.7697210000478663, 1.7697970000444911], [1.7698490000329912, 1.7699200000497513], [1.7699310000170954, 1.769996999995783], [1.7700080000213347, 1.7700710000353865], [1.7700820000027306, 1.7701460000243969], [1.7701560000423342, 1.7702189999981783], [1.7702310000313446, 1.7703259999980219], [1.7703380000311881, 1.7704080000403337], [1.7704180000000633, 1.7704820000217296], [1.7704920000396669, 1.7705580000183545], [1.7705680000362918, 1.7706330000073649], [1.7706430000253022, 1.7707070000469685], [1.7707180000143126, 1.7707810000283644], [1.7707910000463016, 1.7708550000097603], [1.7708650000276975, 1.7709290000493638], [1.7709400000167079, 1.7710030000307597], [1.771013000048697, 1.7710770000121556], [1.7710870000300929, 1.7711510000517592], [1.7711600000038743, 1.7712240000255406], [1.7712340000434779, 1.7712980000069365], [1.7713090000324883, 1.7713740000035614], [1.7713840000214987, 1.7714490000507794], [1.7714580000028946, 1.7715220000245608], [1.7715330000501126, 1.7715980000211857], [1.7716070000315085, 1.7716709999949671], [1.7716810000129044, 1.7717460000421852], [1.7717560000019148, 1.7718210000311956], [1.7718300000415184, 1.7718950000125915], [1.7719050000305288, 1.771969000052195], [1.7719800000195391, 1.7720440000412054], [1.7720530000515282, 1.7721180000226013], [1.7721280000405386, 1.7721930000116117], [1.772203000029549, 1.7722680000006221], [1.7722770000109449, 1.7723420000402257], [1.7723530000075698, 1.7724190000444651], [1.7724290000041947, 1.7724940000334755], [1.7725030000437982, 1.7725710000377148], [1.7725809999974445, 1.7726470000343397], [1.7726580000016838, 1.773161000048276], [1.7731690000509843, 1.7749530000146478], [6.6640570000163279, 6.667105000000447], [6.6671700000297278, 6.6687390000442974], [7.3157080000382848, 7.3158200000179932], [7.315879000001587, 7.315954000048805], [7.3162149999989197, 7.3162900000461377], [7.3164220000035129, 7.316493000020273], [7.3166300000157207, 7.3167350000003353], [7.3168550000409596, 7.316891000024043], [7.3169550000457093, 7.3169900000211783], [7.3170520000276156, 7.31708599999547], [7.3171570000122301, 7.3172970000305213], [7.3173880000249483, 7.3174770000041462], [7.3175630000187084, 7.3175820000469685], [8.1212689999956638, 8.1216080000158399], [8.1217199999955483, 8.1218550000339746], [8.1218970000045374, 8.1220850000390783], [8.1221450000302866, 8.1223030000110157], [8.1223600000375882, 8.1232630000449717]]}, \"sh-5139\": {\"1\": [[0.33214500005124137, 0.33434600004693493], [0.33448900002986193, 0.33648200001334772]]}, \"kworker/u12:1-4563\": {\"0\": [[0.002457000024151057, 0.0025260000256821513], [0.15483100002165884, 0.15490200003841892], [0.15502800000831485, 0.15508200001204386], [0.15530199999921024, 0.15535700001055375], [0.15558900003088638, 0.1556430000346154], [0.15586300002178177, 0.15591600001789629], [0.15602799999760464, 0.1560390000231564], [0.15610900003230199, 0.1561199999996461], [0.15618500002892688, 0.15619700000388548], [0.15626100002555177, 0.15627100004348904], [1.7737770000239834, 1.7737990000168793], [1.7780350000248291, 1.7782180000212975], [1.7788850000360981, 1.7790249999961816], [2.8904750000219792, 2.89054000005126], [6.2792540000518784, 6.2793670000392012], [6.2811300000175834, 6.2812030000495724], [6.4334730000118725, 6.4336150000453927], [6.4340590000501834, 6.4342490000417456], [6.6644860000233166, 6.6645710000302643], [6.6651060000294819, 6.6652560000075027], [6.6653330000117421, 6.6653790000127628], [6.6661210000165738, 6.6662020000512712], [7.4704730000230484, 7.4705079999985173], [7.4706520000472665, 7.4707750000525266]], \"1\": [[0.1566970000276342, 0.1567650000215508], [0.3088080000015907, 0.30889500002376735], [0.30941000004531816, 0.30949100002180785], [0.30971699999645352, 0.30978100001811981], [0.30991100001847371, 0.31000300002051517], [0.31120799999916926, 0.3112400000100024], [0.9608379999990575, 0.96084900002460927], [0.96107300004223362, 0.96112600003834814], [0.96130600001197308, 0.96135500003583729], [0.96150600002147257, 0.96155400003772229], [0.96172900003148243, 0.96177799999713898], [0.96192400000290945, 0.96197300002677366], [0.96217700000852346, 0.96222600003238767], [0.96244200004730374, 0.96249200002057478], [0.96272300003329292, 0.96277000004192814], [0.96283500001300126, 0.96284600003855303], [0.96291000000201166, 0.96292000001994893], [0.96298400004161522, 0.962993000051938], [0.96305800002301112, 0.96306800004094839], [0.96313300001202151, 0.96314400003757328], [0.96320800000103191, 0.96321800001896918], [0.96328200004063547, 0.96329200000036508], [0.96335700002964586, 0.96336700004758313], [0.96343300002627075, 0.96344300004420802], [0.96350800001528114, 0.96351900004083291], [0.96358400001190603, 0.96359500003745779], [0.96366000000853091, 0.96366900001885369], [0.96373499999754131, 0.96374500001547858], [0.96381000004475936, 0.96382100001210347], [0.96388600004138425, 0.96396399999503046], [0.96705200005089864, 0.96705999999539927], [0.96713200001977384, 0.96719600004144013], [0.96726600005058572, 0.96727600001031533], [0.96734400000423193, 0.9673540000221692], [0.9674230000237003, 0.96743200003402308], [0.96750100003555417, 0.96751099999528378], [0.96757999999681488, 0.96764700004132465], [1.7728210000204854, 1.7728800000040792], [6.6662540000397712, 6.6662990000331774], [6.6663580000167713, 6.6663720000069588], [6.6664200000232086, 6.6664310000487603], [6.6664880000171252, 6.6665000000502914], [6.6665480000083335, 6.6665590000338852], [6.6666170000098646, 6.6666310000000522], [6.6666760000516661, 6.6666880000266246], [6.6667890000389889, 6.666800000006333], [6.6668550000176765, 6.6668670000508428], [6.6669110000366345, 6.6669209999963641], [6.6669750000000931, 6.6669860000256449], [6.6670430000522174, 6.6670560000347905], [7.4697340000420809, 7.4697870000381954], [7.4702950000064448, 7.4703430000226945], [7.4710140000097454, 7.4711430000024848], [7.4734160000225529, 7.4734320000279695], [7.4735550000332296, 7.4736090000369586], [7.4739200000185519, 7.4739810000173748], [7.4748580000014044, 7.4748649999964982], [7.4749890000093728, 7.4751160000450909], [7.4772700000321493, 7.477277000027243], [7.4783710000338033, 7.4784050000016578], [7.4790460000513121, 7.4790810000267811], [7.4792660000384785, 7.4793300000019372], [7.4797039999975823, 7.4797210000106134], [7.4800130000221543, 7.4800500000128523], [7.4812400000519119, 7.4812570000067353], [7.4814290000358596, 7.48143300000811], [7.4989230000064708, 7.4989560000249185], [8.0107010000501759, 8.0107280000229366], [8.1210070000379346, 8.121065000013914], [8.1214390000095591, 8.1214850000105798], [8.1216080000158399, 8.1216290000011213], [8.121822000015527, 8.121859000006225], [8.1220880000037141, 8.1220970000140369], [8.1222710000001825, 8.1223120000213385]], \"2\": [[0.96781000000191852, 0.96783100004540756], [1.0112800000351854, 1.011346000013873], [1.6119040000485256, 1.6119780000299215], [1.6121170000405982, 1.6121700000367127], [1.6122409999952652, 1.6122520000208169], [1.6123179999995045, 1.6123280000174418], [1.6123930000467226, 1.6124040000140667], [1.6124670000281185, 1.6124770000460558], [1.6125400000018999, 1.6125500000198372], [1.6126550000044517, 1.6126660000300035], [1.6127260000212118, 1.6127370000467636], [1.6129240000154823, 1.6129360000486486], [1.6130840000114404, 1.6131920000188984], [1.7696520000463352, 1.7697210000478663], [1.7697970000444911, 1.7698490000329912], [1.7699200000497513, 1.7699310000170954], [1.769996999995783, 1.7700080000213347], [1.7700710000353865, 1.7700820000027306], [1.7701460000243969, 1.7701560000423342], [1.7702189999981783, 1.7702310000313446], [1.7703259999980219, 1.7703380000311881], [1.7704080000403337, 1.7704180000000633], [1.7704820000217296, 1.7704920000396669], [1.7705580000183545, 1.7705680000362918], [1.7706330000073649, 1.7706430000253022], [1.7707070000469685, 1.7707180000143126], [1.7707810000283644, 1.7707910000463016], [1.7708550000097603, 1.7708650000276975], [1.7709290000493638, 1.7709400000167079], [1.7710030000307597, 1.771013000048697], [1.7710770000121556, 1.7710870000300929], [1.7711510000517592, 1.7711600000038743], [1.7712240000255406, 1.7712340000434779], [1.7712980000069365, 1.7713090000324883], [1.7713740000035614, 1.7713840000214987], [1.7714490000507794, 1.7714580000028946], [1.7715220000245608, 1.7715330000501126], [1.7715980000211857, 1.7716070000315085], [1.7716709999949671, 1.7716810000129044], [1.7717460000421852, 1.7717560000019148], [1.7718210000311956, 1.7718300000415184], [1.7718950000125915, 1.7719050000305288], [1.771969000052195, 1.7719800000195391], [1.7720440000412054, 1.7720530000515282], [1.7721180000226013, 1.7721280000405386], [1.7721930000116117, 1.772203000029549], [1.7722680000006221, 1.7722770000109449], [1.7723420000402257, 1.7723530000075698], [1.7724190000444651, 1.7724290000041947], [1.7724940000334755, 1.7725030000437982], [1.7725710000377148, 1.7725809999974445], [1.7726470000343397, 1.7726580000016838], [1.773161000048276, 1.7731690000509843], [6.667105000000447, 6.6671700000297278], [6.710136000008788, 6.7102080000331625], [7.3156290000188164, 7.3157080000382848], [7.3158200000179932, 7.315879000001587], [7.315954000048805, 7.3160220000427216], [7.3162900000461377, 7.3163400000194088], [7.316493000020273, 7.3165420000441372], [7.3167350000003353, 7.3168000000296161], [7.316891000024043, 7.3169160000397824], [7.3169900000211783, 7.3170140000293031], [7.31708599999547, 7.3171100000035949], [7.3172970000305213, 7.3173220000462607], [7.3174770000041462, 7.3175020000198856], [7.4718320000101812, 7.471839000005275], [7.4723130000056699, 7.4724170000408776], [7.4731960000353865, 7.4732150000054389]], \"3\": [[0.96442700002808124, 0.96461000002454966]], \"5\": [[7.4727850000490434, 7.4729600000428036]]}}});\n",
" }); /* TRAPPY_PUBLISH_REMOVE_LINE */\n",
" </script>\n",
" </div>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"trappy.plotter.plot_trace(trace.ftrace)"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"# Latency Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Latency DataFrames"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" DataFrame of task's wakeup/suspend events\n",
"\n",
" The returned DataFrame has these columns\n",
" - Time: the time an event related to this task happened\n",
" - target_cpu: the CPU where the task has been scheduled\n",
" reported only for wakeup events\n",
" - curr_state: the current task state:\n",
" A letter which corresponds to the standard events reported by the\n",
" prev_state field of a sched_switch event.\n",
" Only exception is 'A', which is used to represent active tasks,\n",
" i.e. tasks RUNNING on a CPU\n",
" - next_state: the next status for the task\n",
" - t_start: the time when the current status started, it matches Time\n",
" - t_delta: the interval of time after witch the task will switch to the\n",
" next_state\n",
"\n",
" :param task: the task to report wakeup latencies for\n",
" :type task: int or str\n",
" \n"
]
}
],
"source": [
"print trace.data_frame.latency_df.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>target_cpu</th>\n",
" <th>__cpu</th>\n",
" <th>curr_state</th>\n",
" <th>next_state</th>\n",
" <th>t_start</th>\n",
" <th>t_delta</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1.778588</th>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>A</td>\n",
" <td>R</td>\n",
" <td>1.778588</td>\n",
" <td>0.000433</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.779021</th>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>R</td>\n",
" <td>A</td>\n",
" <td>1.779021</td>\n",
" <td>0.000135</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.779156</th>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>A</td>\n",
" <td>R</td>\n",
" <td>1.779156</td>\n",
" <td>0.715133</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.494289</th>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>R</td>\n",
" <td>A</td>\n",
" <td>2.494289</td>\n",
" <td>0.000040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.494329</th>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>A</td>\n",
" <td>R</td>\n",
" <td>2.494329</td>\n",
" <td>0.001559</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" target_cpu __cpu curr_state next_state t_start t_delta\n",
"Time \n",
"1.778588 NaN 1.0 A R 1.778588 0.000433\n",
"1.779021 NaN 1.0 R A 1.779021 0.000135\n",
"1.779156 NaN 1.0 A R 1.779156 0.715133\n",
"2.494289 NaN 1.0 R A 2.494289 0.000040\n",
"2.494329 NaN 1.0 A R 2.494329 0.001559"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report full set of task status informations available from the trace\n",
"trace.data_frame.latency_df('ramp').head()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>__comm</th>\n",
" <th>__cpu</th>\n",
" <th>__pid</th>\n",
" <th>next_comm</th>\n",
" <th>next_pid</th>\n",
" <th>next_prio</th>\n",
" <th>prev_comm</th>\n",
" <th>prev_pid</th>\n",
" <th>prev_prio</th>\n",
" <th>prev_state</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0.000013</th>\n",
" <td>trace-cmd</td>\n",
" <td>1</td>\n",
" <td>5137</td>\n",
" <td>sudo</td>\n",
" <td>5136</td>\n",
" <td>120</td>\n",
" <td>trace-cmd</td>\n",
" <td>5137</td>\n",
" <td>120</td>\n",
" <td>64</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.001866</th>\n",
" <td>sudo</td>\n",
" <td>1</td>\n",
" <td>5136</td>\n",
" <td>swapper/1</td>\n",
" <td>0</td>\n",
" <td>120</td>\n",
" <td>sudo</td>\n",
" <td>5136</td>\n",
" <td>120</td>\n",
" <td>64</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.001998</th>\n",
" <td>&lt;idle&gt;</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>sh</td>\n",
" <td>5096</td>\n",
" <td>120</td>\n",
" <td>swapper/0</td>\n",
" <td>0</td>\n",
" <td>120</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.002457</th>\n",
" <td>sh</td>\n",
" <td>0</td>\n",
" <td>5096</td>\n",
" <td>kworker/u12:1</td>\n",
" <td>4563</td>\n",
" <td>120</td>\n",
" <td>sh</td>\n",
" <td>5096</td>\n",
" <td>120</td>\n",
" <td>4096</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.002526</th>\n",
" <td>kworker/u12:1</td>\n",
" <td>0</td>\n",
" <td>4563</td>\n",
" <td>sshd</td>\n",
" <td>4428</td>\n",
" <td>120</td>\n",
" <td>kworker/u12:1</td>\n",
" <td>4563</td>\n",
" <td>120</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" __comm __cpu __pid next_comm next_pid next_prio \\\n",
"Time \n",
"0.000013 trace-cmd 1 5137 sudo 5136 120 \n",
"0.001866 sudo 1 5136 swapper/1 0 120 \n",
"0.001998 <idle> 0 0 sh 5096 120 \n",
"0.002457 sh 0 5096 kworker/u12:1 4563 120 \n",
"0.002526 kworker/u12:1 0 4563 sshd 4428 120 \n",
"\n",
" prev_comm prev_pid prev_prio prev_state \n",
"Time \n",
"0.000013 trace-cmd 5137 120 64 \n",
"0.001866 sudo 5136 120 64 \n",
"0.001998 swapper/0 0 120 0 \n",
"0.002457 sh 5096 120 4096 \n",
"0.002526 kworker/u12:1 4563 120 1 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report information on sched_switch events\n",
"df = trace.data_frame.trace_event('sched_switch')\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" DataFrame of task's wakeup latencies\n",
"\n",
" The returned DataFrame has these columns:\n",
" - Time: the time the task wakeups\n",
" - wakeup_latency: the time the task waited before getting a CPU\n",
"\n",
" :param task: the task to report wakeup latencies for\n",
" :type task: int or str\n",
" \n"
]
}
],
"source": [
"print trace.data_frame.latency_wakeup_df.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>wakeup_latency</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2.578911</th>\n",
" <td>0.000244</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.678908</th>\n",
" <td>0.000022</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.778907</th>\n",
" <td>0.000020</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.878907</th>\n",
" <td>0.000021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.978903</th>\n",
" <td>0.000021</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" wakeup_latency\n",
"Time \n",
"2.578911 0.000244\n",
"2.678908 0.000022\n",
"2.778907 0.000020\n",
"2.878907 0.000021\n",
"2.978903 0.000021"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report WAKEUP events and their duration\n",
"trace.data_frame.latency_wakeup_df('ramp').head()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" DataFrame of task's preemption latencies\n",
"\n",
" The returned DataFrame has these columns:\n",
" - Time: the time the has been preempted\n",
" - preemption_latency: the time the task waited before getting again a CPU\n",
"\n",
" :param task: the task to report wakeup latencies for\n",
" :type task: int or str\n",
" \n"
]
}
],
"source": [
"print trace.data_frame.latency_preemption_df.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>preempt_latency</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1.779021</th>\n",
" <td>0.000135</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.494289</th>\n",
" <td>0.000040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.495888</th>\n",
" <td>0.000014</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.496282</th>\n",
" <td>0.000009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.506273</th>\n",
" <td>0.000014</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" preempt_latency\n",
"Time \n",
"1.779021 0.000135\n",
"2.494289 0.000040\n",
"2.495888 0.000014\n",
"2.496282 0.000009\n",
"2.506273 0.000014"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report PREEMPTION events and their duration\n",
"trace.data_frame.latency_preemption_df('ramp').head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Latency Plots"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Generate a set of plots to report the WAKEUP and PREEMPT latencies the\n",
" specified task has been subject to. A WAKEUP latencies is the time from\n",
" when a task becomes RUNNABLE till the first time it gets a CPU.\n",
" A PREEMPT latencies is the time from when a RUNNABLE task is suspended\n",
" because of the CPU is assigned to another task till when the task\n",
" enters the CPU again.\n",
"\n",
" :param task: the task to report latencies for\n",
" :type task: int or list(str)\n",
"\n",
" :param kind: the kind of latencies to report (WAKEUP and/or PREEMPT\")\n",
" :type kind: str\n",
"\n",
" :param tag: a string to add to the plot title\n",
" :type tag: str\n",
"\n",
" :param threshold_ms: the minimum acceptable [ms] value to report\n",
" graphically in the generated plots\n",
" :type threshold_ms: int or float\n",
" \n"
]
}
],
"source": [
"print trace.analysis.latency.plotLatency.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:52:01,228 INFO : Analysis : Found: 38 WAKEUP latencies\n",
"2017-02-17 19:52:01,265 INFO : Analysis : Found: 14 PREEMPT latencies\n",
"2017-02-17 19:52:01,267 INFO : Analysis : Total: 52 latency events\n",
"2017-02-17 19:52:01,269 INFO : Analysis : 100.0 % samples below 1 [ms] threshold\n",
"2017-02-17 19:52:01,399 WARNING : Analysis : Event [sched_overutilized] not found, plot DISABLED!\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABQ8AAAKoCAYAAADZBwl3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XuYZHddJ/73Z5hAyK1hiQIGIWDcbFzUpTuouAtBUAQJ\nAwgCJa7BqBBRLg26IChXUQxiILpB3J+SSEI9IookWQEly83VBawW1ICgEiCixIRLQwgXSb6/P051\npqbnTE93p7uru+f1ep56ZurU95zzPadO3d79vVRrLQAAAAAAy+2ZdgUAAAAAgO1JeAgAAAAA9BIe\nAgAAAAC9hIcAAAAAQC/hIQAAAADQS3gIAAAAAPQSHgIAAAAAvYSHAAAAAEAv4SEAAAAA0Et4CMCO\nV1Wvqaqbxre/mXZ9OLJV1czE9XhTVT1j2nW6parqCeNjueu063JLVdUZ42O537TrcihVdWFVfWHa\n9Vgycc5+cAO3+YKqummVZW+qqudt1L630rQ/n6rqsxP7P3+r9w/A7iA8BGC3uDbJ45M8e3JhVb1j\nWZCzdPuTZeWOraoXVtWbq+rT4zI/eridVtXeqvrgakKiqnr8uNzn13OAR7KqekhVPX/a9VilLyb5\nkSRPT9I2YoNVde742hke4vG7rfIa/FhVXbqOKrSs81iqalBVT1vPuptoQ56XW6KqbltVzz9EiLnu\n872JNro+W3aMVXVMVa37d09VPbeq3lRVn1pnkNn7+bRFfjLd+xEArNveaVcAADbIF1trfcFKS3J1\nuh9tNbH8X5aVOzHJLyb5eJL3J7n/Kvf71CTfmMP8CK6qY5P8apLrV7ldDvQDSZ6c5IXTrsjhtNa+\nluR1VXW3JK/YoM0+LslVSR5WVce21r643uptUH3W4oeT/Ockr5zCvg/SWntnVd22tfbVKVflmCTP\nT/ecvGvKdVmNOnyR7aOqvi/Jk5I8IMntktxYVVcleUOSV7bWrlnD5l6c5F+TLCT5/nVU51CfT5uu\ntfaGJKmqi6exfwB2By0PATgSLLbWhq21103c3rGszL8kuVNr7e5J/kdW8UO5qr4+XeD40lWU/8Uk\nn0/ypjXXfhWq6ujN2O60VdUxS/+dakWmqKq+J8lJSc5OclSSDes6eqTaBsFhsknXdFXdqqqO2oxt\n7wTjVoZvSPLmJEcn+YUkD00XwF+S7vXzwTV2wT65tXZSkv+eI/i9CIAjl/AQgCPC+Af1sYd6vLX2\n7621f1vjZl+a5EPpfpCutO9vTteF9RlJvnaIMidU1alVdcLhdrrU9bSqHlRV76uqLyV54vixH6uq\nK6rqmqr6clVdWVXnrLCNM8bbuKGq/qaqzhg//oPj+1+qqr+qqv+ybP0Lq+oLVXX3qnprVV1fVZ+s\nql88XP1XOK4XjLsEnlZVr6uqzyR5d1W9Jl2rw6Wxz26qqhsPs62jqupF47p/bly/d1XV/ZeVu7m7\nb1U9fXxebhh3d//PG33M427up1bVnVZ9Yrrujh9srb0zydvG96euqvZV1eXjc/DlqvrHqvqFye6h\nVfX2dMHN0nm+qao+OvH4rasbLuAfxtv4RFX9alXdetm+bqqq86vq4VX1t+Oyf1dVB7UCq6pvqKrf\nmajXR6vqgqraO368d8zDqvrOqnrL+Hr54vga+O5lZY6rqldU1VXjbV9TVX+6/PWxinN3tyT/lq7V\n4dJ1f1B32PGx/PH4uvu3qnpZVdXkdiau36dV1T8m+XKS09Z4fr+vqt5d3fh4X6iqv6+qlyyrdkuy\np7ouvFeP3xveVlXf1HN8PzR+7d1QVddW1Wur6htWcV5uXVXnjY/18+NjP2mVpzVVdask/zvJXJLv\naK2d2Vq7oLX25tbaH7bWXpjkW9K9d19SVQ9ZzXZba59YbR3WYuK6fnR179U3VNVfVNU9x48/afzc\nfamq3l7LxhytqlOq6g+r6l/HZa6uqmFVHb8Z9QXgyKXbMgBHgv+Ybhy6W1fVNUn+V5IXjbuXrktV\nfUeSH03y3Tl8V9BXJLmitfaWqnrsIco8Mslrkjwhye8dZnstyX9K8rokr07y20k+PH7snCR/l66F\n49eSPCzJBVVVrbVXLdvGN6cLPl+d5LVJfi7JpVX1U0lekuR/pmtl85wkv5/k1GXr70nyliR/OV73\nwUleWFW3aq294DDHcKjjSpI/SPKRJD8/3v9fJ/mGJN+bLjhbTcufE9K11BumOz/HJ/nxJG+pqu9o\nrS2fuOCsJMcl+c10rZWeluSKqvrW1tq1E/W7pcd8UrrA+cJx/VY0Dnl+MMnLxouGSX63qr5+HWH3\nRntCki8keXm67vgPSPKidOf6WeMyv5RkJt1xPz3dc3d9koxDsMvSvYZeneTvk3xrkvl01+bylmH3\nHS+7YLzfpyZ5Q1XdtbX22fE275zkfeme/1ene12clOTR6boJL403esBrtqoekORPkvxVkhckuSnJ\njyX5P1X131prfzUu+upxHX4j3fN4hyT/LV1Y9/7Vnrh0Y+Cdk+S3kvzR+JYkk9fl3iRvTfL/kjwz\n3fX/jCT/OK7HpLOT3Ga8/CtJPrPa81tV3zIu9/50LaS/kuSU8XqTKt1r8sZ01+NMuuf54iT3ublQ\n1ROS/G6S96QbLuKO6Z77766qe7XWVhrz9XfSdXO/JN1r7AHpwsDVdrd/zvjYZpdeH+PzcNvW2g3j\n/9++tfay6iakeU1VfdMtGAZgI9wvyb5077dJdwyXV9W5SX5qvPz26c7176a7DlJd69I/Tdca+fwk\nn0p3rZ+Zrpv2tplwB4BdoLXm5ubm5ua2o2/pQrePHuKx/5XuB/Ej0gVPb0wXDAxX2N7cuMyPrlDm\nPUleO/7/3cbln9FT7qHpfoyfOlHXz/eUOyvdj/JD7nOi7FXjst/b89htepa9Ock/HGIb3zGx7PvG\nx3F9kpMmlv/kuOz9lp3zG5Oct2y7lyX5UpL/sI7n8fnj/b+257HfSHLjGrZVSfYuW3ZCunHL/tfE\nsrtNHPOdJpbfe7z819Z7zH3XxXjZjUl+Z5XH8ahx+XuM7x+X5IYkTz3cvla4di5dx3OzdH3e9TDX\n2qvShRZHLTs/B70+003i8O9J7rNs+RPH+/quiWU3jc/xyRPLvnW8/MkTyy4ab/NeKxzLGT3X84eT\n/O/lr6Uk/5TkLRPLPpvk/LWev0PU4w7j+j+v57Gla+05y5aPkry353n/bM/1t6rzmy4ovzFdqLbS\nObsp3R8mbjWx/Cnjdb9lfH9vuhDr/UluPVHuB8brP39i2fMz8ZpO8m3jMucv2/fF430cdJ6WlTs+\nyeeSnDmx7CeTfHq83b9J90eamyYef1+SH9+I52yFdVb6fLop3ev5G5fV+aYkn0xyzMTyl2TiNZjk\n28flHrnKehx0bt3c3Nzc3FZ7020ZgF2ttfaTrbUXt9b+uLV2SWvtkekCxceMWw+uWVX9WLoJIJ51\nmHJHJfn1JK9qrX14pbKttYtaa7dqrR2u1eGSq1prb+vZzlcm9n9CVd0h3WQM9+jpyvbB1tp7J+6/\nZ/zvFa21Ty5bXknu0VOP/7ns/m8muXXGrWPWoeXgVlVr30jna0nX8qiqbj+u118lme1Z5Y2ttU9N\nrP++dMf9Az1l133MrbWPj5/nH1/dkeSHk/xVa+2j4/WvT9cSa+pdl5dda8eNr7U/T9fC7z+tYhOP\nTtd67yNVdYelW5K3p7vevmdZ+T9rrX1sYv9/m64l4T3GdagkD08Xjv71ao9j3OX4m5MMl9Xj+CRX\npGsZtuRzSb5z3MJxKyx/Lbw7/a/DN7TWPrNs2WrP7+fG/z5yskv0Ifxua21yyIB358D3htOTfH2S\nC9rEuJKttT9J1/LxoSts+wfSvf5/Y9nyV2R1rY0flOTTrbXLk6SqZtO17PyDdH88+v107/2TrRgv\nzeonx9osb2utXT1xf+l9+A2ttRt6li+d68Xxvw+uqttuZgUBQHgIwJHo5el+jK454BoHcL+c5NzW\n2vIZm5d7RrqWKi9Y635W4aq+hVX1X8fjkF2fLhS4Nl2LlaTrZjjpgHG82v7uhP+8rNzSj9TbL1t+\nU5KPLlv2kXTn9uSVKn8YvcfWp6pOrKo7TtyOnXjsrKr6QLox4D6dboy5h+bg85B0XUGX+0gOPo7N\nOuaDVNVMukDlnVX1TUu3JH+R5PSqOmUj97eO+n1LVb2xqj6XLsS7Nl3396T/HC/3zelC+GuX3T6c\nLuD5+mXlr87BPpv91+XXpWtdeuUaDmOpHkk3XMBkPf4tyU+kG+5g6Xj+R5J7Jrm6qt5TVc+vqruv\ncX+r9eXW2qeXLZs83kkf61m22vP7+0n+b7pg7ZrxmHk/dIggcflz8Nnxv0t1utt42x/pWffvx48f\nylIryn9atnzFP7xMmEvyzon7P57k7a21c1prl7bWXpKDg8lr0l0307T8nC693/a9D1fG53ocpL88\n3TV6XXXjdT65VjFuLgCslTEPATgSLf1Y+w/rWPfn0o0x9frqJj1Ikm8c/3v78bJPpmt99dx0rdRm\nxuFDpet2WuNyN7T94+mt1ZeWL6iqe6SbUOND6cY1uzrJV9MFZk/PwX80PNSkI4davlWzjB50bCt4\nX/YHEi3JC5O8qKp+JF13wT9Kcm66IOjGdOOJ9bXc2o4ek67r7DOT/Oyyx1q61ocv3OpKJTcHm+9K\nF1D/QrpA9cvpApyXZnV/oN6T5G/TXaurCao267pcquszk3zgEGWuT5LW2h9U1bvSdX99ULrn5VlV\n9cjW2ltvYT2WW3FSoGX6XjOrOr+ttS8nuV91s3o/NN04no9NN+bng1prky31pv3esJI7JJn8g87J\n6d4fJr132f1vTPeHhWla9/twa+3nqurCdC1uH5Ru7MNnV9V3reKPWwCwasJDAI5ES7ODrie4+8Z0\nLT8+uGx5SxcWPifJvdK1EjkuXUulvu7NVyX54xw8KcQt8bB03WcfNtntuKoeuIH7mLQnXRA32Wpv\naVKVj23wvg41YcIPJ5nssrfUKvBRSf6ptfboycJV9aJDbOebe5b9xxx8HFt5zD+cLvzpCwjPGT8+\nlfAwXVfP2yd5eGvt/y4trJ6Zd3Po5+6fknxba+3tG1Sna9O1gLznGtdbaun2hdba/zlc4dbaNem6\nw/5WVZ2YbkKf56ab3GQtVjsJyHqt6fyOy709yc9W1c+nm+zme5Ic9pxM+Hi6cOvUJO9Y9tip48dX\nWndPuvfnf5hYvpou8En33E+2eP1U9r/XL7n5flUdneS/Z3Nahm+Z1tqV6Vrb/nJVfVe6lsnnJHne\niisCwBrotgzArlVVx49nq13uF9L9cF9PS6FXpmt19IiJ2xPT/WB+zfj+Velauj2ip+zb07USeniS\nX5mo6wlVdeot7HK21FLl5s/3cQuxJ9yCbR7Oz/Tc/2q6seI20heT7jxNLmyt/WVr7f9M3D42fuig\nVjtV9Z2ZmBV2mUdU1TdMlP2OJN+Zbgbe5dZ9zFW1d/w83+kw5e6Sbqy932+t/dHyW7pr7ZSquvfh\n9rlJbkx3zU9ea7dO8uSesl9Mfzfm1ye5S1X95PIHquroqjpmLRUat5D74yQPG493t1qjdEHbz052\ne5+oy4njf/f0XH/XpWvtdpu11HVsaTy7261j3dVY1fkdjwe63AfSPb9rPa6/Svfed854zNel/T0k\n3YzUl6+w7pvH+3zqsuVPz+qC1g+le80ueWOSHxx35b1rVf1AutmiU1X/Ld1MxZ9ON7PzjjP+fLvV\nssVXpuv6vZ7rEQAOSctDAHaz2XSTIAzTtRS7bbqWfvdJ8urW2vsnC1fVT6f7IX/SeNG+qlrqknx+\na+0L43WWr7fUbfbK1tplEw9durxCVfXIJPdeVi7pQsbXpAv6VjtpynJ/mm521cur6tXpJnz4iXTj\neq0YVq3TV9IN1n9h9k8u8pAkL5kcq238+I+mmyn3Ez3bWY1RumDhN6rqrelmaf39Fcpfni44+ON0\nE4zcI8mT0v24Pq6n/D8m+fOqelWSo9PNQHttkpctK7eqY17BSelCjguTnL1CuaUJUZZfJ0v+JF2A\n9/gc2DXzew8xecIbW2tLrWVPqarn9pT56/HEFqvxF+nGu/u9qjp/vOxH0h/yjNJNUPTycV2vH09q\n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\nbpmbb9lll22W1q9fP4YMGdIsbeDAgay44ootlh84cCDvvvtui3WW7tOAAQMYMWJE97yGzMzMrGIc\nPDQzMzPLbLjhhvTr1497772XlVZaieHDhzNmzBjGjx/Peeedx/z587nvvvvYbbfdAJgzZw4TJkxg\n0KBBnHjiiay66qr069ePadOmcfTRR7eYNGXkyJFNrf2mTZvG2LFjm73f2NhIXV0dt912W9MYiMWW\nXnrppv+3NrZhQ0MDffq4itfd5J2vpZZaqkVaY2Mjyy+/PFdccUVhyJ5mhg0b1pRPEpdddhnLL798\ni3yl10Bxi8Fy0vO2bWZmZr2Ta5ZmZmZmmSWWWIKNN96Ye++9l1GjRjF+/HggtUj85JNPuPzyy3nj\njTeYMGECAFOmTOHdd9/lhhtu4Atf+ELTel588cXc9ffr14+bbrqJLbfcku233557772Xtddeu+n9\n1VZbjYhg9OjRuS0Fiw0ePDh39t1XXnmF1VZbrUX6888/3yLthRde4HOf+1yb27FF8/zzz7Pyyis3\n/V1oVbrKKqu0udxqq63GXXfdxeabb96sS3xevohg2LBhXTKjcUTw/PPPN00UBDB37lxmzpzJTjvt\n1JTWWlDbzMzMapfHPDQzM7NOVdxDtBbWPX78eP7xj38wZcqUpuDhkCFDWGuttTjllFOQ1JReX19P\nRDRrYTh//nzOPffcVte/zDLLcPvttzN8+HC23nprZsyY0fTebrvtRl1dHSeccELusu+8807T/1db\nbTUeeughFixY0JR200038dprr+Uue+mllzbNGA1wzTXXMHPmTHbccce2Dkf3UGMXUURwzjnnNEs7\n88wzkcQOO+zQ5rJ77LEHCxYs4Gc/+1mL9xoaGpq6wm+33XYsu+yy/OIXv2h2DRS89dZbi7EH+S68\n8MJm2zr33HNpaGhodg0NGDAgN6htZmZmtcstD83MzKxT1Vjch/Hjx3PSSSfx2muvNQUJASZMmMAF\nF1zAKquswsiRIwHYfPPNGTx4MPvttx/f/e53AbjsssvabX01ZMgQ/v73vzNu3DgmTZrE1KlTGTly\nJKuuuionnngiP/rRj5gxYwa77LILyyyzDC+99BLXX389hxxyCEceeSQABx98MNdeey3bbbcde+yx\nBy+++CKXXXZZqy0Wl1tuOcaNG8eBBx7IrFmz+O1vf8saa6zBwQcfXInD1rlq7SICZsyYwZe//GW2\n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\nBHYFbpW0XkS82Nk7YGZmZmZtc/DQzMzMzCqlD/CtiHgZQNK1wL7A8Ij4CJguaTKwJXCNpFHAAcBK\nETErW8cZknYADgR+3MXlNzMzM7MSDh6amZmZWaXMKwQOM28AL2eBw+K0wpiK6wL1wHPFXZmBvsBb\nnVlQMzMzMyuPg4dmZmZmVimflvwdraQVxt1eGlgAbAA0luT7sOKlMzMzM7MOc/DQzMzMzKrlcVLL\nw+Uj4v5qF8bMzMzMWvJsy9bjSbpY0oxql6O7kXSLpAuqXY6eRtIB2eyjo8rIu3+Wd4My8k7Jxgnr\nFrLyNGavG7t42wOLtt0o6cjFWNfLXV3+tkj6abZPy1VwnVMk3V1GvsLMuROK0q6UdFWlymI9ktrP\n0rqIeB64ArhU0q6SRkvaWNLR2biHZjUpq39+UGbeRkk/6ewy9VSSVpL0kaTNqrDtsr+3szrHH7ui\nXJ2pp9QBe6Kiutxu1S5LQaXr2pJWzvZxvzLyNosDSFpO0oeStq9UeXoTBw+tQwGMMta1lKTji398\ndgNBy65QXSL7IXSLpNmSPpH0uqSrJG1ZlGeLki/BjyXNkjRZ0jGShuasd/+SZYpfvyijXF8AtgZO\nLkk/VtIN2fbbrMhKGinpaknvSpoj6XpJq7SS9yBJT2cVu+ckfae9MhYt21fSKdmxmyfpIUlb5+Q7\nRNJLkt6WdKmkpUvel6THJB1d7rYXUVAy+6ikQyXt30b+ctdbsetY0gBJJ0i6NTtmZX0Jl5TnGWAf\n4FeVKleZ5pImYPg+ZRw/SWtn96W8gG65x7+rtLh+KrTORc17CvAVSetVsDzWs1Tiej0AuJR0L5lO\nmo15Q+DVCqzbOlEvqEMujo7czzt875e0t6TvdbhUPdNPgIci4sHSNyTtKemBLGDwrqT7JU1sbUWS\nxmXXdEM5AUE6du4aO5C30/SmOmBP1c7nv7sdl2qWp9nnMyLeAX4P/LxqJaphDh5aQaU+1P2B44GJ\nFVpfJRwMrNXVG5V0EfAX0qDwpwOHAGcDqwB3Stq0ZJHfkL4MvwGcCrwN/BR4pjjYWCRIs1DuW/L6\ncxnF+z/grogobZH5c9IPtsdo45qQNACYAowHTiRV2tYHpkgaXJL3EOB3wJPAd4AHgDMl/b8yyglw\nCamC8Cfgu6SxsW6RtHnRNsYB5wLXka6/ScBpJev5JrAs6Vx0pkuBpSKi+Efvt4HWgofl2gbYbjHX\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0b10f87ad0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot latency events for a specified task\n",
"latency_stats_df = trace.analysis.latency.plotLatency('ramp')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>50%</th>\n",
" <th>95%</th>\n",
" <th>99%</th>\n",
" <th>max</th>\n",
" <th>100.0%</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>latency</th>\n",
" <td>52.0</td>\n",
" <td>0.000027</td>\n",
" <td>0.000035</td>\n",
" <td>0.000009</td>\n",
" <td>0.00002</td>\n",
" <td>0.000036</td>\n",
" <td>0.000188</td>\n",
" <td>0.000244</td>\n",
" <td>0.001</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 50% 95% 99% \\\n",
"latency 52.0 0.000027 0.000035 0.000009 0.00002 0.000036 0.000188 \n",
"\n",
" max 100.0% \n",
"latency 0.000244 0.001 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Plot statistics on task latencies\n",
"latency_stats_df.T"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Draw a plot that shows intervals of time when the execution of a\n",
" RUNNABLE task has been delayed. The plot reports:\n",
" WAKEUP lantecies as RED colored bands\n",
" PREEMPTION lantecies as BLUE colored bands\n",
"\n",
" The optional axes parameter allows to plot the signal on an existing\n",
" graph.\n",
"\n",
" :param task: the task to report latencies for\n",
" :type task: str\n",
"\n",
" :param axes: axes on which to plot the signal\n",
" :type axes: :mod:`matplotlib.axes.Axes`\n",
" \n"
]
}
],
"source": [
"print trace.analysis.latency.plotLatencyBands.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\nZ3rmumolpVFpFYWTZGTWnZI+bGYvrrGuoVwTZ43CNeUuT4o19Vqp8Eemz9RoxxGla1CZWa3iz0+S\nfwfa3ncUbkgwq2r6TIUbb/x3A20dklrvZ3LXwbPV/8ilgTymMFqkmPxbetyhMErqPXrm2nrX1Jjv\nbxWKrdcmzw+eGmlmJ5rZkK/3l9ivvr93zFLfETnNco6ZvbT0JBml+WeSbmnydvr7PD3q7reXP5KX\nSp/T6vfi79R/MfCSGs9LN0woF6PP6yW9PiluD6rB48gtkiaZ2RvLXh+nMBqrerljzeykZKRpPdYq\nHEM+qXDqZPldOe9WuPNz6QYWd1ct2yrp++7+TXe/sfyhcH00U9mdtsslp+K+T+E03mvM7II621vt\nFoWRuB8un2hmJumjCjeqqd7/MYxSGBFW2v7opE3bJQ10t+xfSppQfhfW5Ph2WtV8dR3rk+eNZmA4\nFiscN4dzLbmhulThDt7Vd9aOLnlvX62QXwBAxjACDwAOHSbpb8zsrBqvXa1QdDrXzDol/Y/CqJ0P\nK1x/7rmlGd19d3INqOlm9oDCRbPvc/efKlzk+/uSNpvZfymMpnmRQhHwZaq8wH5/py0enO7uT5nZ\nbIWbQ/zQzK5XGJlxiqSj3X1GrRW4+/fM7EuS5prZqQqFwL0Ko4nep1D4uVHSB83sY5K+pfCF8RhJ\nH1I4PbPfooW77zCzf1UYYbFa0k0Ko1o+qjCSr89F9CO4wcx6FYoHjyncUOJDCqfNXl4+o5m9QVIh\nefoahVNkS9c9+klyE4xehX6oatmipDe5+82lae5+j6pGWJSdSvvT8nkTtyuMRKqniNdfLv5b0vvN\n7EmFkX+TFUbe1DpVqxmnxG6RtNbMvijpKEkfVyg6/NvBjYQ+P6QwMvCioWxkkM9TLd0KWf28mb1c\n4SYD71X/IxH/IOkvzew6PXNDirMk/XNVUUqqo89DsErSPyqMCPpOncvUexxZJOn9km41s2sUiqEf\nUhjZ9SdV6ywqFJfbFC7SP5jSqLrJqjyVWe7+gJntSF67t/yaYckfPV4j6d9rrdTdf2tmXQqn0dZ8\nX92918zeLekuSdea2ZNVn6k/6qew96i7l97jmxWOe1clbbpb4dTZ9yTt/nSN/V/X58bMtko64O71\nfJ5/J+kyMztB4dp35ynsmw+5e3+nuUvJpQwkrTGzpQr7/8OS7lP4I4mkho71UuMZGLLkNOxrJX3U\n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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0ad5e955d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot latency events for a specified task\n",
"trace.analysis.latency.plotLatencyBands('ramp')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABRMAAADsCAYAAADnwzFCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XucXGV9+PHPt4AgKoiIeGtEvCDezVZrxHrBHyhY1nuw\ngJeg1iqoxZ9BrdUE+7M11KoUxGobsVYJosV4Q4hysUS87opXoiggUuUSRBADKsn398dzRmYns7tn\nNmd2ksPn/XqdV7JnnjnneWbO9+zOd55LZCaSJEmSJEmSNJs/GXUFJEmSJEmSJG0bTCZKkiRJkiRJ\nqsVkoiRJkiRJkqRaTCZKkiRJkiRJqsVkoiRJkiRJkqRaTCZKkiRJkiRJqsVkoiRJkiRJkqRaTCZK\nkiRJkiRJqsVkoiRJkiRJkqRaTCZKkrZpEfHhiLhs1PVoWkTcLyI2VdvGiHjuqOuk27eIeE/XNXlj\nzedERHwvIt487PpV53tpVb8F83E+9RcR50fEd2uU69znXjwf9dJwRMQ/RcTXRl0PSdL8MZkoSS0X\nES+pPqwtbOBYd4yIZRHxpCbq1pAENo26EkP0AeBFwDc6OyLiyV1Jne5tY0Q8rvvJEXFARKysEjq3\nRsSldU4aEYfXSRpFxPYR8cOq7Ovn0sDbq600nmbyEeAI4IIBnnMYcF/gxKHUaHNZbQOLiDMj4ld9\n9j+6ur43+9IiIp5aPfbyPo8dVD125QznvDwiPtNn/4uqeD0zIu5Q7esX853t5K7nTpvIi4jdq/Jv\n69r3kp5j3RwRP4qIEyPiHtPVfRZzeg+2BtXr1/16XBcR34iIJRERXeVO6Sl3S/W6HRcRO/Y5bt33\nr/e43duGrnLdvwcOm6YtX6ke/27P/st7jnt1RPxPRDy7erz3mphu6/w+eS/wqIj4yy179SVJ24rt\nR10BSdK8aOqD3c7Asup4/9PQMbfUy2n3l2NfzcxTp3nsvcC3evb9pOfnw4DFwCTwv3VOGBF3AlYA\nN9Uo/lrgT9mGkwcjtDXG07Qy89vAtyPiAOAxNZ/2BmBVZta5lkbtAuDpEfGwzPxB1/79gFuBBRFx\n78z8Rc9jCaztc7zDgcuAvSJi/8w8t0+ZzeImIg4HTgHWAM/OzN93PbyGktTt9eOZjllDAm8FLgd2\nAp4IvAo4KCIenpm3zOGY26oEfg68CQhgD+DFwErgQcDfdZW9BXhZVW5X4FmU13FvypdAveq8f73H\n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\nyURJjdtjjz1GXQVJQ2J8S+1lfEvtZXxLapLJREmNe8Mb3jDqKkgaEuNbai/jW2ov41tSkyIz5/+k\nEQuBiYmJCSeBlSRJkiRJkgY0OTnJ2NgYwFhmTs7Xee2ZKEmSJEmSJKkWk4mSGrd27dpRV0HSkBjf\nUnsZ31J7Gd+SmmQyUVLjjj/++FFXQdKQGN9SexnfUnsZ35KaZDJRUuNOO+20UVdB0pAY31J7Gd9S\nexnfkppkMlFS43beeedRV0HSkBjfUnsZ31J7Gd+SmmQyUZIkSZIkSVItJhMlSZIkSZIk1WIyUVLj\nli5dOuoqSBoS41tqL+Nbai/jW1KTTCZKatyCBQtGXQVJQ2J8S+1lfEvtZXxLalJk5vyfNGIhMDEx\nMcHChQvn/fySJEmSJEnStmxycpKxsTGAscycnK/z2jNRkiRJkiRJUi0mEyVJkiRJkiTVYjJRUuPW\nrVs36ipIGhLjW2ov41tqL+NbUpNMJkpq3LHHHjvqKkgaEuNbai/jW2ov41tSk0wmSmrcSSedNOoq\nSBoS41tqL+Nbai/jW1KTTCZKatyCBQtGXQVJQ2J8S+1lfEvtZXxLapLJREmSJEmSJEm1mEyUJEmS\nJEmSVIvJREmNW7FixairIGlIjG+pvYxvqb2Mb0lNMpkoqXEbNmwYdRUkDYnxLbWX8S21l/EtqUmR\nmfN/0oiFwMTExAQLFy6c9/NLkiRJkiRJ27LJyUnGxsYAxjJzcr7Oa89ESZIkSZIkSbWYTJQkSZIk\nSZJUy0iTiQcffDDj4+NTtkWLFrF69eop5dasWcP4+Phmzz/qqKNYuXLllH2Tk5OMj4+zfv36KfuX\nLVu22aSzV1xxBePj46xbt27K/hNPPJGlS5dO2bdhwwbGx8dZu3btlP2rVq1iyZIlm9Xt0EMPtR22\n43bbjs7xt/V2dNgO22E7bmvH5z73uVa0oy3vh+2wHU22o1N2W29HW94P22E7mmxH5zjbejs6bIft\nuD22Y2xsjP33339KDm3x4sWbnWs+OGeipMaNj4/zmc98ZtTVkDQExrfUXsa31F7Gt9ROzpkoqTWW\nL18+6ipIGhLjW2ov41tqL+NbUpNMJkpqnD2OpfYyvqX2Mr6l9jK+JTXJZKIkSZIkSZKkWkwmSpIk\nSZIkSarFZKKkxvWuUiWpPYxvqb2Mb6m9jG9JTTKZKKlxk5PztoiUpHlmfEvtZXxL7WV8S2pSZOb8\nnzRiITAxMTHhRLCSJEmSJEnSgCYnJxkbGwMYy8x5+9bAnomSJEmSJEmSajGZKEmSJEmSJKkWk4mS\nJEmSJEmSajGZKKlx4+Pjo66CpCExvqX2Mr6l9jK+JTXJZKKkxh199NGjroKkITG+pfYyvqX2Mr4l\nNcnVnCVJkiRJkqRtjKs5S5IkSZIkSdqqmUyUJEmSJEmSVIvJREmNW7169airIGlIjG+pvYxvqb2M\nb0lNMpkoqXGrVq0adRUkDYnxLbWX8S21l/EtqUkuwCJJkiRJkiRtY1yARZIkSZIkSdJWzWSiJEmS\nJEmSpFpMJkqSJEmSJEmqxWSipMYtWbJk1FWQNCTGt9RexrfUXsa3pCaZTJTUuAMPPHDUVZA0JMa3\n1F7Gt9RexrekJrmasyRJkiRJkrSNcTVnSZIkSZIkSVs1k4mSJEmSJEmSajGZKKlxa9euHXUVJA2J\n8S21l/EttZfxLalJJhMlNe74448fdRUkDYnxLbWX8S21l/EtqUkjTSYefPDBjI+PT9kWLVrE6tWr\np5Rbs2YN4+Pjmz3/qKOOYuXKlVP2TU5OMj4+zvr166fsX7ZsGStWrJiy74orrmB8fJx169ZN2X/i\niSeydOnSKfs2bNjA+Pj4Zt/orFq1iiVLlmxWt0MPPdR22I7bbTtOO+20VrSjw3bYDttxWzte+9rX\ntqIdbXk/bIftaLIdH/rQh1rRjra8H7bDdjTZjs7f59t6Ozpsh+24PbZjbGyM/ffff0oObfHixZud\naz64mrMkSZIkSZK0jXE1Z0mSJEmSJElbNZOJkiRJkiRJkmoxmSipcb1zT0hqD+Nbai/jW2ov41tS\nk0wmSmrcggULRl0FSUNifEvtZXxL7WV8S2qSC7BIkiRJkiRJ2xgXYJEkSZIkSZK0VTOZKEmSJEmS\nJKkWk4mSGrdu3bpRV0HSkBjfUnsZ31J7Gd+SmmQyUVLjjj322FFXQdKQGN9SexnfUnsZ35KaZDJR\nUuNOOumkUVdB0pAY31J7Gd9SexnfkppkMlFS4xYsWDDqKkgaEuNbai/jW2ov41tSk0wmSpIkSZIk\nSarFZKIkSZIkSZKkWkwmSmrcihUrRl0FSUNifEvtZXxL7WV8S2qSyURJjduwYcOoqyBpSIxvqb2M\nb6m9jG9JTYrMnP+TRiwEJiYmJli4cOG8n1+SJEmSJEnalk1OTjI2NgYwlpmT83VeeyZKkiRJkiRJ\nqsVkoiRJkiRJkqRaTCZKatz69etHXQVJQ2J8S+1lfEvtZXxLapLJREmNO/LII0ddBUlDYnxL7WV8\nS+1lfEvEOl9sAAATHklEQVRqkslESY1bvnz5qKsgaUiMb6m9jG+pvYxvSU0ymSipca7SLrWX8S21\nl/EttZfxLalJJhMlSZIkSZIk1WIyUZIkSZIkSVItJhMlNW7lypWjroKkITG+pfYyvqX2Mr4lNclk\noqTGTU5OjroKkobE+Jbay/iW2sv4ltSkyMz5P2nEQmBiYmLCiWAlSZIkSZKkAU1OTjI2NgYwlpnz\n9q2BPRMlSZIkSZIk1WIyUZIkSZIkSVItJhMlSZIkSZIk1TLSZOLBBx/M+Pj4lG3RokWsXr16Srk1\na9YwPj6+2fOPOuqozValmpycZHx8nPXr10/Zv2zZMlasWDFl3xVXXMH4+Djr1q2bsv/EE09k6dKl\nU/Zt2LCB8fFx1q5dO2X/qlWrWLJkyWZ1O/TQQ22H7bjdtqNTn229HR22w3bYjtvasd9++7WiHW15\nP2yH7WiyHZ2/zbf1drTl/bAdtqPJdnTOu623o8N22I7bYzvGxsbYf//9p+TQFi9evNm55oMLsEhq\n3Jo1azjwwANHXQ1JQ2B8S+1lfEvtZXxL7TSqBVhMJkqSJEmSJEnbGFdzliRJkiRJkrRVM5koSZIk\nSZIkqRaTiZIa1zsJraT2ML6l9jK+pfYyviU1yWSipMatWrVq1FWQNCTGt9RexrfUXsa3pCa5AIsk\nSZIkSZK0jXEBFkmSJEmSJElbNZOJkiRJkiRJkmoxmShJkiRJkiSpFpOJkhq3ZMmSUVdB0pAY31J7\nGd9SexnfkppkMlFS4w488MBRV0HSkBjfUnsZ31J7Gd+SmuRqzpIkSZIkSdI2xtWcJUmSJEmSJG3V\nTCZKkiRJkiRJqsVkoqTGrV27dtRVkDQkxrfUXsa31F7Gt6QmmUyU1Ljjjz9+1FWQNCTGt9RexrfU\nXsa3pCaZTJTUuNNOO23UVZA0JMa31F7Gt9RexrekJplMlNS4nXfeedRVkDQkxrfUXsa31F7Gt6Qm\nmUyUJEmSJEmSVIvJREmSJEmSJEm1mEyU1LilS5eOugqShsT4ltrL+Jbay/iW1CSTiZIat2DBglFX\nQdKQGN9SexnfUnsZ35KaFJk5/yeNWAhMTExMsHDhwnk/vyRJkiRJkrQtm5ycZGxsDGAsMyfn67z2\nTJQkSZIkSZJUi8lESZIkSZIkSbWYTJTUuHXr1o26CpKGxPiW2sv4ltrL+JbUJJOJkhp37LHHjroK\nkobE+Jbay/iW2sv4ltQkk4mSGnfSSSeNugqShsT4ltrL+Jbay/iW1CSTiZIat2DBglFXQdKQGN9S\nexnfUnsZ35KaNNJk4sEHH8z4+PiUbdGiRaxevXpKuTVr1jA+Pr7Z84866ihWrlw5Zd/k5CTj4+Os\nX79+yv5ly5axYsWKKfuuuOIKxsfHN5s/4sQTT2Tp0qVT9m3YsIHx8XHWrl07Zf+qVatYsmTJZnU7\n9NBDbYftsB22w3bYDtthO2yH7bAdtsN22A7bYTtsh+3Y4naMjY2x//77T8mhLV68eLNzzYfIzPk/\nacRCYGJiYoKFCxfO+/klSZIkSZKkbdnk5CRjY2MAY5k5OV/ndZizpMb1fosiqT2Mb6m9jG+pvYxv\nSU0ymSipcRs2bBh1FSQNifEttZfxLbWX8S2pSQ5zliRJkiRJkrYxDnOWJEmSJEmStFUzmShJkiRJ\nkiSpFpOJkhrXu7S9pPYwvqX2Mr6l9jK+JTXJZKKkxh155JGjroKkITG+pfYyvqX2Mr4lNclkoqTG\nLV++fNRVkDQkxrfUXsa31F7Gt6QmmUyU1DhXaZfay/iW2sv4ltrL+JbUJJOJkiRJkiRJkmoxmShJ\nkiRJkiSpFpOJkhq3cuXKUVdB0pAY31J7Gd9SexnfkppkMlFS4yYnJ0ddBUlDYnxL7WV8S+1lfEtq\nUmTm/J80YiEwMTEx4USwkiRJkiRJ0oAmJycZGxsDGMvMefvWwJ6JkiRJkiRJkmoxmShJkiRJkiSp\nFpOJkiRJkiRJkmoxmSipcePj46OugqQhMb6l9jK+pfYyviU1yWSipMYdffTRo66CpCExvqX2Mr6l\n9jK+JTXJ1ZwlSZIkSZKkbYyrOUuSJEmSJEnaqplMlCRJkiRJklSLyURJjVu9evWoqyBpSIxvqb2M\nb6m9jG9JTTKZKKlxK1asGHUVJA2J8S21l/EttZfxLalJJhMlNW6PPfYYdRUkDYnxLbWX8S21l/Et\nqUkmEyVJkiRJkiTVYjJRkiRJkiRJUi0mEyVJkiRJkiTVsv2IzrsTwMUXXzyi00sapm984xtMTk6O\nuhqShsD4ltrL+Jbay/iW2qkrr7bTfJ43MnM+z1dOGnEY8LF5P7EkSZIkSZLULodn5qnzdbJRJRN3\n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\nJEm1/H8pT9dCyNg5cwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0b20272e10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Zoom into a spefific time frame\n",
"trace.setXTimeRange(4.28,4.29)\n",
"trace.analysis.latency.plotLatencyBands('ramp')"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"# Activations Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Activations DataFrames"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" DataFrame of task's wakeup intrvals\n",
"\n",
" The returned DataFrame has these columns:\n",
" - Time: the wakeup time for the task\n",
" - activation_interval: the time since the previous wakeup events\n",
"\n",
" :param task: the task to report runtimes for\n",
" :type task: int or str\n",
" \n"
]
}
],
"source": [
"print trace.data_frame.activations_df.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>activation_interval</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2.578911</th>\n",
" <td>0.099997</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.678908</th>\n",
" <td>0.099999</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.778907</th>\n",
" <td>0.100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.878907</th>\n",
" <td>0.099996</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.978903</th>\n",
" <td>0.100001</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" activation_interval\n",
"Time \n",
"2.578911 0.099997\n",
"2.678908 0.099999\n",
"2.778907 0.100000\n",
"2.878907 0.099996\n",
"2.978903 0.100001"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report the sequence of activations intervals:\n",
"# Time: wakeup time\n",
"# activation_internal: time interval wrt previous wakeup\n",
"trace.data_frame.activations_df('ramp').head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Activations Plots"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Plots \"activation intervals\" for the specified task\n",
"\n",
" An \"activation interval\" is time incurring between two consecutive\n",
" wakeups of a task. A set of plots is generated to report:\n",
" - Activations interval at wakeup time: every time a task wakeups a\n",
" point is plotted to represent the time interval since the previous\n",
" wakeup.\n",
" - Activations interval cumulative function: reports the cumulative\n",
" function of the activation intervals.\n",
" - Activations interval histogram: reports a 64 bins histogram of\n",
" the activation iternals.\n",
"\n",
" All plots are parameterized based on the value of threshold_ms, which\n",
" can be used to filter activations intervals bigger than 2 times this\n",
" value.\n",
" Such a threshold is useful to filter out from the plots outliers thus\n",
" focusing the analysis in the most critical periodicity under analysis.\n",
" The number and percentage of discarded samples is reported in output.\n",
" A default threshold of 16 [ms] is used, which is useful for example\n",
" to analyze a 60Hz rendering pipelines.\n",
"\n",
" A PNG of the generated plots is generated and saved in the same folder\n",
" where the trace is.\n",
"\n",
" :param task: the task to report latencies for\n",
" :type task: int or list(str)\n",
"\n",
" :param tag: a string to add to the plot title\n",
" :type tag: str\n",
"\n",
" :param threshold_ms: the minimum acceptable [ms] value to report\n",
" graphically in the generated plots\n",
" :type threshold_ms: int or float\n",
"\n",
" :returns: a DataFrame with statistics on ploted activation intervals\n",
" \n"
]
}
],
"source": [
"print trace.analysis.latency.plotActivations.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:52:03,201 INFO : Analysis : Found: 38 activations for [5144: ramp, rt-app]\n",
"2017-02-17 19:52:03,203 WARNING : Analysis : Discarding 1 activation intervals (above 2 x threshold_ms, 2.6% of the overall activations)\n",
"2017-02-17 19:52:03,205 INFO : Analysis : 100.0 % samples below 120 [ms] threshold\n",
"2017-02-17 19:52:03,258 WARNING : Analysis : Event [sched_overutilized] not found, plot DISABLED!\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABRkAAAKoCAYAAADzt/jYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XncbWVdN/7Pl1FxwAFDwTmVR0pNUMvKIc3MSsyh9GSP\nppVZTh01Sc1weLQcUTTKelTUJ44hpaI/hVJxzCHBOZGE44SC4ADIJMP1++NaN+yzz77HdZ9z9oH3\n+/Xar3P22tde63utvda69/rua6jWWgAAAAAA1mqXHR0AAAAAALBzk2QEAAAAAEaRZAQAAAAARpFk\nBAAAAABGkWQEAAAAAEaRZAQAAAAARpFkBAAAAABGkWQEAAAAAEaRZAQAAAAARpFkBBipqt5UVVcM\njy/s6Hi4ZquqvSeOxyuq6uk7OqalVNWHqurEHR3HtnRNqOOC4Zj763Vc37Oq6r/Xa307SlU9f9g3\nN9rRsayXqjqqqjbvoG3/TVV9chuu/4qqOmJbrX+1hn19/jqv8+tV9cYVlPuDYX/ccj23vzMb9t0V\nO+I4qaq7TP2Nf9j23D7AciQZAdbH2UkeneQvJxcOyYUrZjzeO1XuOlX1gqp6X1V9fyjzmOU2WlW7\nVdV/rySZVFWPHsqdt5YKXpNV1YOq6rAdHccKXZDk95P8eZK2g2NJklTVHavqsEVuUluSK7bhtm82\nbPvO22obK7DmOlbVhqp62jrHs1OoqusleVaSv11h+T2rardtG9WatczJ+bgay5w/2/TcXcark9yl\nqn5rrSuoqnsOdbv+Osa1rWyL42el6xu97aq6zoj33qGqDq+qj1fVRYslPKvqRlX1F1X14ar6XlX9\nsKo+UVW/u8h696iql1bVGVV1YVV9sqp+dYVhtSQfSf/e9+a11m2NvpH+N/7F2QmvKcDVnyQjwPq4\noLW2qbX23qnlLcm30r+I/v7E42VT5fZJ8rwk/yvJ57LyL45PTXKL5coPX/BfmuTHK1wvW/qNJOvW\nOmtbaq1d1lo7Osm7ktSOjmdwYJLDktx6xmsPSPLAbbjt/YZt/9w23MZyxtTx95JcI5OMSf4wya5J\n3rZYgaq6e1W9parOTHJRkkuq6ptV9Zqq+untFejV2FLnzx+l/83a7lprZ6Vf4545YjW/mH5dv8G6\nBMWVquraVfWMqvpUVV2S5Pyq+nFVnVhVj6mq1fxtumeSJye5bpL/zuLfd+6Z5EVJvj/8+5z0H93e\ntsiPhG9O/zHurenfpS5L8t6q+sUVxnX68L3vpJVWZD201n40/I1/f+bnbzzAleb1116Aq5NzW2ub\nlinznSQ3ba19r6oOTvJfy620qn4qPTH5t+lfqJfyvCTnJTkxyUOWD3l1quparbWL13u9O1pV7dVa\nuzC+yI9VWeTGsLV22XbY9g61Heq4KsMN/h6ttUt2dCzL+IMkx7XWfjL9QlXtmuQ1Sf40yUfTf0T5\napI9khyQ5HeT/FFV/UVr7cjtFvHVz6LnT2vt8iSXb8dYph2T5JiqunVr7etreP82uTZM/N24Rqqq\nuyX5tyTXTv+B4NVJfpDkp5L8SpLXJfmTqnpEa+27K1jlu5Ic21q7oKqekcV/MPpSktu31r41sezv\nq+r9SQ6tqpe11i4aYrxHkkcmeUZr7fBh2VuHdbwsyS+vqtIAXElLRoDtoKp2Xaq7UGvt0tba91a5\n2r9N8pUk/7zMtm+f/mv909N/qZ9V5vpVdcBKuo0NYxEdV1W/VlX/VVUXJXnC8NrjquoDVXVWVV1c\nVV+uqicusY77DOu4sKq+UFX3GV5/2PD8oqr6TFX93NT7j6qq86vqNlV1wtBC4oyqet5y8S9Rr4Ux\n0+5YVUdX1Q+SfLSq3pTkz4YyC93dl7yxrqrdq+qFQ+w/GuL7SFXdd6rcrYb1Pb2q/nzYLxdW72b/\nM+td5+rd6w+oqpuuoOydqo83etrwOXy3qt5QM8aUq6r9htfOGD7306vqyGF7j01PBiTJwvABl1fV\nvYf3fqiqPjj8/6eq6tJZdareZe6Kqlr4LG5YVa8YjpPzq+rcqnpvTXTrHI6nT6cnOI+a2PZjJsr8\nzvA5XVhVZ1fVW6tqv6ltL+z7/arqncP/v1dVL69avkXOZB0X4hpi+Z2qem5VfWvYx++vidZ31cdx\n/M0kC8fJFVV1+sTre1QfZuF/hv3+zerd//aY2v4VVXVEVf1eVX0pycVJHlx9aIY3zIj3ekM8Lxue\nr+h4XqTu162qV1fV5iHGs6rq32vqnJ7xvlsnuXN6a51ZjkryqCS/3lq7b2vt8Nbae1tr72ytvbS1\ndnCSJyZ5eVU9YQVxnl1Vr5h4XkNdL62J62JVHTos22t4vuLzZMY2b1VVXxuO4ZtMLP/5qjp+2P4F\nw/Hzi1PvnTkeYg3Xsallk5//KXXVdfVey8S35PkzHUNteT37s2GfXFD9erX/UOZ5w/F+4XAubdWK\n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\nqsd5wz4+fti330nvtji9zrenJzeuv0y9Dhu2c6MZr+2SnnQ6Mz0JcfkK9tOhQz0vTG8196Ah7tOm\n6nZFesLlz9Nv5i5Mv0n82Rmf3YrqPL3uGfvyDSuI/2bprT2+n37juyn9hufy6W0mufkQ35lD/P+T\n3ppkt4kyjx+W/2RYx72H5SemJxynt3/d4Ti6LMmjZry+R/pN8beHz/fDSe6R3p3sA1Nlfyu9i94l\n08d5+s38Z3JVt9E3J7nZCs+bw9JnQF5uX25RxyT3GeJ42CLH+mR8e6UnFL8/vHb6xGu7po9x+IUh\n/nPSrzHPTXLdpc6rGTF+Yyj3l2s9nie29bzh/7sn+dv0ZOePhuP35CRPWG6fDe//8/TE2p4z9vvX\nkuw9seym6QmImwzP75nkxivZztS6PzUcc3ebWLbfUK/Naz1PMuP6kv6DwgeHOt59Yvmd069b3xv2\n9+nDeu87te37pyeRLkofQmPDwnamyl2RnrDakJ6EvDA9YX2vFe6TmefP9OefGdfqZY73hb87B00t\nv3d6ovUH6deAU5O8Icldp8ptSvLhGfGu6Jo/lH1OegLn0kz8ncoi58zwWbxh4vmifzeG12897Kcz\n0idN+mZ669uHTpR5dnqC+/tD3F9OP992nSiz4mtQ+jXjFenjsl6cPvTAxuXqMiz7meGYvGCI9dnp\nSbclv4cM7917+MyeOrFsl/QfFX5ueH6LYRu1inNy4W/ZrO9Gk9fDxy5SZuHxmKn17pGeqD8j/Zz4\nZJJfXWFMm9Nn0p5evtpjfYvjJ8l908e+/Vb6ef2t9Ov/Ty+yrSumt+Xh4eGxox/VWgsAaze0NvmV\n9JkVL2u9qyfb0LDPH95aW7Z7d/VZX49qrf3lto9sdYZWqJuTPLO19qplyq6mzjdOb/1z0krWDfNo\naMF0WpJntdbeNLF8z/SWm5cneUhr7cxF3v/wJO9ovevmNVZVXZHkda21py5beCcxdEE+Pcnvtt6y\nd/K1ub3mX90NQ1b8c5KntNZev0iZWyS5eWttXcdi3J6qanN6C/qnJrmoXTXb/fbY9i7pY3P/cpJ3\nJHlEa+3fttf2AZazpjEZq+pJVbW5qi6qqk8OzdMXK3tgVR07lL+iqrb6glNVz66qT1fVeVV1VlW9\no6ruMFVmz6r6u6o6p6rOH9b5U2uJH2AbuEV6K6iPLleQ7aeqDkxvLfSy5cpeXVQfB/Ps9ASjXxLZ\nabXeRf7l6ZOlTC6/JL0l5RVJvlpVfzuM+3bL6mOOPqaq/jO9m/Vdp9fL1cLTknx+RoLxGnfNnyet\ntbend++gVDEPAAAgAElEQVR9bVV9ZDgX71hVt6iqX66qV6S31Hzajo10XTwqvbXx327n7d4p/W/8\nv8XfeGAOrXpMxmFA3VemD5T76QzjbVTVHdrssZX2Sv8V+pgkhy+y2nsleW1695vd0icj+PequmO7\nalyUV6d/oXx4enebv0sfa+deq60DwDp7aXp3lqR3dWJOtNb+O9tnwoJ58uP0cewWnLqjAoGxWmsv\ny4yEUWvt7OqTvDx5ePxFrhrz7KL0G/Dfb62dPv1edn6ttWcvsvyaeM2fK621N1TVJ9Nnqf+H9AlL\nKj0hdmp61+037MAQ18PvpY+znfQuzdvT17Ll3/gvbOftAyxp1d2lhz8an2qtPW14XukX1yOGL4JL\nvXdz+qDDSw5kPMy49r308Zo+NnSXOTt9TKZ3DGUOSB9c/hdaa59eVSUA2KkNXYcf1lqbNevuTmPo\nLn16epfmxX6IWyh7tagzbAtVdcv0yTQuTvKV1trFOzikuVFVl6d3l746tB5jJ1JV106fSOm6Sb7d\n1m/CIADm1KpaMlbV7uljjr1kYVlrrVXV+9MH2F4vN0j/tWthJsCD02P9wMR2v1pV3xy2K8kIcA3S\nWntctt0MkNvNcMO16wrLXi3qDNtC67MIr3X2+Ku11tqKrjGw3oYeaZ/f0XEAsP2strv0Puk3Q2dN\nLT8ryQHrEdDQMvLVST42dHlI+oyBPxnG5pne7k0XWc+NkzwwfaZOv2YDAAAAwOpcK8mtk5zQWvv+\nUgVXPSbjdnBkkgPTZ8wa44Hps5sBAAAAAGv36CRHL1VgtUnGc5JcnmTfqeX7JjlzlevaSlW9Lslv\nJLlXa+07Ey+dmWSPqrr+VGvGpbb79SR50WtflNvc/jYzC+y525657Q1vu2RMp//w9Fxy2SWLvr7P\nXvvkJte5yaKvX3zZxdn8w81LbuM2N7xNrrXbtRZ9/ewLzs45F86aU6dTj6usdz02btyYww/fcpi0\nnbEes6jHVa4u9XjCk5+QjYdtXPT1naUeV5fPQz26perxysNemWe84Bk7fT0WqEd3da3HrO8EO2M9\nZlGP7upUjyc/9cl5xguesWiZnaUeV5fPQz26xeqx8H1gZ6/HAvW4ytW1HtPfCXbWekxbrB6b/2dz\nnveU5yVDnm0p6zXxyzfTJ355+TLvXXTilyHB+JAk95meCXAtE79U1UFJTjrppJNy0EEHraqOsOCQ\nQw7Jcccdt6PDgBVxvLKzccyyM3G8sjNxvLIzcbyys7mmHbMnn3xyDj744CQ5uLV28lJl19Jd+lVJ\njqqqk9InXNmYZK8kRyVJVb0lffaw5wzPd0/v/lxJ9kiyf1XdJcmPW2unDWWOTLIhySFJLqiqhZaS\n57bWLm6tnVdVb0jyqqr6YZLzkxyR5ONmlgYAAACAHWvVScbW2jFVtU+SF6Z3V/5ckge21s4eitw8\nyWUTb9kvyWfTZ4tOkmcOjw8nud+w7InD6x+a2tzjkrxl+P/G9K7axybZM8nxSZ602vgBAAAAgPW1\npolfWmtHpk/QMuu1+009/0aSXZZZ35KvD2UuSfKU4QEAAAAAzIllk3twTbZhw4YdHQKsmOOVnY1j\nlp2J45WdieOVnYnjlZ2NY3Zxq574ZWdh4hcAAAAAWLvVTPyiJSMAAAAAMIokIwAAAAAwiiQjAAAA\nADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAA\nMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAw\niiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCK\nJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIok\nIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQj\nAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMA\nAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAA\nAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAAADCKJCMAAAAAMIokIwAAAAAwiiQjAAAA\nADCKJCMAAAAAMIokIwAAAAAwypqSjFX1pKraXFUXVdUnq+ruS5Q9sKqOHcpfUVVPnVHmXlV1XFWd\n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\nAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgA\nAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAA\nAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAA\nAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAA\njCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACM\nIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwi\nyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJ\nCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMIskI\nAAAAAIwiyQgAAAAAjCLJCAAAAACMIskIAAAAAIwiyQgAAAAAjCLJCAAAAACMsqYkY1U9qao2V9VF\nVfXJqrr7EmUPrKpjh/JXVNVT17LOqvrQ8P6Fx+VVdeRa4gcAAAAA1s+qk4xV9cgkr0xyWJK7Jvl8\nkhOqap9F3rJXktOSHJrkuyPW2ZL8Y5J9k9w0yc2SPGu18QMAAAAA62stLRk3Jnl9a+0trbVTkjwx\nyYVJHj+rcGvtM621Q1trxyT5ych1XthaO7u19r3h8eM1xA8AAAAArKNVJRmravckByf5wMKy1lpL\n8v4k91xLAKtc56Or6uyq+mJVvaSqrr2WbQIAAAAA62e3VZbfJ8muSc6aWn5WkgPWGMNK1/nPSb6R\n5DtJ7pzkZUnukOQRa9wuAAAAALAOVptk3GFaa/934umXq+rMJO+vqtu01jbvqLgAAAAA4JputUnG\nc5Jcnj75yqR9k5y5xhjWus5PJakkt0uyaJJx48aN2XvvvbdYtmHDhmzYsGFNwQIAAADA1c2mTZuy\nadOmLZade+65K37/qpKMrbVLq+qkJPdPclySVFUNz49YzbrWYZ13TZ9xeuaM1QsOP/zwHHTQQWsJ\n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\nLViwgJKSEiZMmFDoqIiIiEgjVvjSm4iIiIgUxKJFixg1ahSvv/56pXlmVq8VfV988QWjRo3imWee\nafBt56qkpAQzq9Wyt9xyC+PHj6/jGImIiIgUr8KX3kRERESkIP73v/8xatQoXn311UrzbrvtNubN\nm1dv2167di2jRo1ixowZleZdfvnlrF27tt62nat33nmHsWPH1mrZ0aNHq5JRREREmhRVMoqIiEiT\nN+mNSY1y3fly96zzmjVrRosWLQqy7ZKSElq2bFlv285VixYtaNasWaGjUa60tJSvv/660NEQERER\nyUiVjCIiItLkTXqzHisZ63jdCxcu5KyzzuJb3/oWbdq0oVOnThxzzDEsWLCgUtiVK1dy3nnn0aNH\nD1q1akXXrl05+eSTWbZsGU8//TTf+973MDOGDRtGSUkJzZo1Kx+XL31MxvXr17PFFltw6qmnVtrG\nqlWraN26NRdddBEAX3/9NSNGjGC33XajQ4cObLrppuyzzz4VWiwuWLCAzp07Y2bl4y+WlJRw5ZVX\nApnHZCwtLeWqq66iV69etGrVih49enDZZZfx1VdfVQjXvXt3Bg0axHPPPcf3v/99WrduTc+ePZk4\ncWKNj3VyTMbx48dTUlLC888/z/nnn0/nzp3ZdNNNGTx4MEuWLCkP16NHD9566y1mzJhRvm/77bdf\nhfPyi1/8gm7dutGqVSu23357rr322goVr6lxEq+//npuvPHG8v1+5ZVXaNGiBVdddVWl+L777ruU\nlJQwevRoAJYvX84FF1xA37592WyzzWjfvj2HHHJIxu7xIiIiIvlqXugIiIiIiEjuXnrpJV544QWG\nDh3KNttsw/z58xk9ejQDBw7k7bffplWrVgCsWbOGvfbai3feeYdTTz2V73znOyxZsoQHH3yQjz76\niN69e3PllVcyYsQIzjjjDPbee28A9txzTyCMi5gaj7B58+YceeSR3HfffYwZM4bmzTcUIe+77z6+\n+uorhg4dCsDnn3/OuHHjGDp0KKeffjqrVq3i9ttv50c/+hEvvvgiffv25Rvf+Aa33norZ555JoMH\nD2bw4MEA9O3bt9K2U0499VQmTJjAMcccwwUXXMCsWbP47W9/y7x585g2bVp5ODPjvffeY8iQIZx6\n6qkMGzaMcePGMXz4cHbbbTd22mmnnI91tvEYzznnHDp27MgVV1zB/PnzueGGGzjnnHOYNClUKN94\n442cffbZbLbZZvz617/G3dlyyy2BMBblPvvsw6JFizjzzDPp2rUrzz//PJdccgmffPIJ119/fYVt\njV8CxMsAACAASURBVBs3ji+//JIzzjiDVq1a0aVLFwYMGMCUKVO4/PLLK4S9++67ad68OUOGDAHg\ngw8+4MEHH2TIkCH06NGDxYsXM2bMGPbdd1/efvttttpqq5yPhYiIiEi13H2j/AD9AJ89e7aLiIhI\n0zF79myvaRng8LsOr7f41PW6161bV2narFmz3Mz8zjvvLJ82YsQILykp8QceeCDrul5++WU3Mx8/\nfnylecOGDfMePXqUf3/88cfdzPzhhx+uEO6QQw7xXr16lX8vKyvzr7/+ukKYlStX+lZbbeWnnXZa\n+bQlS5a4mfmoUaMqbfuKK67wkpKS8u+vvfaam5mfccYZFcJdeOGFXlJS4jNmzCif1r17dy8pKfHn\nnnuufNpnn33mrVq18gsvvDDrscike/fuPnz48PLvd9xxh5uZH3TQQRXCnX/++d6iRQv//PPPy6ft\nsssuPnDgwErrvOqqq3yzzTbz999/v8L0Sy65xFu0aOEfffSRu7vPnz/fzcw7dOjgS5curRB27Nix\nXlJS4m+99VaF6TvvvLMfcMAB5d+/+uqrSttfsGCBt2rVyn/zm9+UT0ttK1M6SKnNdSUiIiKNX6oM\nAPTzauri1F1aREREmpxJb0xi0KRB5Z+H3n2owvd8xlGsz3UDbLLJJuX/r1+/nmXLlrHddtvRoUMH\n5syZUz7v3nvvZdddd2XQoEF5bS9lv/32o1OnTkyePLl82ooVK5g+fTrHHXdc+TQzK2/p6O4sX76c\nr776it12261C/GrikUcewcw477zzKkz/5S9/ibvz8MMPV5jeu3fv8haZAJ06dWLHHXfkgw8+qNX2\n05kZp59+eoVpe++9N6WlpRm7rCfdc8897L333rRv356lS5eWf/bff3/Wr19f6W3bRx99NB07dqww\nbfDgwTRr1qzCuXjrrbd4++23K5yL9DE1y8rKWLZsGW3atGHHHXes9bkQERERyUbdpUVERKTJGdpn\nKEP7DC3/PmjSIB4c+mDRrxtg3bp1XHPNNdxxxx18/PHH5eP4mRkrV64sD/f+++9z9NFH19l2mzVr\nxlFHHcWkSZP4+uuvadGiBdOmTWP9+vUcc8wxFcKOHz+e66+/nnnz5lV4Ucl2221Xq22nxifs1atX\nhelbbrklHTp0qFS5161bt0rr2HzzzVm+fHmttp/UtWvXSusGclr/e++9xxtvvME3vvGNSvPMjE8/\n/bTCtO7du1cKt8UWW7D//vszZcoURo0aBYSu0i1atODII48sD+fu/OlPf+KWW27hww8/pLS0tHw7\nnTp1qjauIiIiIjWhSkYRERGRRuTss89m/PjxnHfeeey+++60b98eM+PYY4+lrKysXrd93HHHMWbM\nGB599FEGDRrElClT+Na3vkWfPn3Kw9x5550MHz6cwYMHc9FFF9G5c2eaNWvGNddck3dLwmxjJCZl\neyN0qkI2X/msv6ysjAMPPJBf/epXGcPvsMMOFb63bt0643qOO+44TjnlFF5//XX69u3L1KlT2X//\n/Su0erz66qsZMWIEp512Gr/5zW/o2LEjJSUlnHvuufWeVkRERKTpUSWjiIiISCMybdo0hg0bxrXX\nXls+7csvv2TFihUVwvXs2ZM333yzynXlWmmXss8++9ClSxcmT57MD37wA5566qlKLx+ZNm0aPXv2\n5J577qkwfcSIEbXe9rbbbktZWRnvvfceO+64Y/n0Tz/9lBUrVrDtttvWaD8aQrb969mzJ6tXr2bg\nwIF5rf/HP/4xZ5xxBpMnT8bdeffdd7nssssqhJk2bRr77bcfY8eOrTB9xYoVGVtSioiIiORDYzKK\niIhIkzd0l6HVByqSdTdr1qxSK7SbbrqpvCtsylFHHcVrr73GAw88kHVdbdu2BahUQZmNmXH00Ufz\n0EMPMXHiREpLSyt1lc7Uym/WrFnMnDmzwrQ2bdrkvO1DDjmkvOtvuuuuuw4z49BDD80p/g2pbdu2\nGfftmGOOYebMmTz++OOV5q1cubLSecymffv2HHTQQUyZMoW7776bTTbZhCOOOKJCmGbNmlVqLTl1\n6lQ+/vjjGuyJiIiISG7UklFERESavPQxFIt93YcddhgTJ06kXbt29O7dm5kzZ/LEE09UGmPvwgsv\n5J577mHIkCEMHz6c/v37s3TpUh566CHGjBlDnz596NmzJx06dODWW29l0003pW3btuy+++5Vtgw8\n9thjufnmmxk5ciR9+vSp0LIwFb97772XH//4xxx66KF88MEHjBkzhp133pnVq1eXh2vVqhW9e/dm\n8uTJbL/99nTs2JFddtmFnXfeudI2+/bty8knn8zYsWNZvnw5AwYMYNasWUyYMIHBgwczYMCAPI9q\n7rJ1iU5O79+/P7feeitXX301vXr1onPnzgwcOJALL7yQBx98kMMOO4xhw4bRv39/1qxZw+uvv869\n997L/PnzK73oJZtjjz2WE088kdGjR3PQQQfRrl27CvMPO+wwrrrqKk455RT23HNP3njjDf7+97/T\ns2fP2u28iIiISBVUySgiIiLSiNx00000b96cu+66i3Xr1rHXXnsxffp0DjrooApddNu2bcu///1v\nRo4cyX333ceECRPo3LkzBxxwANtssw0AzZs3Z8KECVxyySX89Kc/Zf369fztb3/jpJNOAjJ3+d1z\nzz3p2rUrH330UYU3GacMGzaMxYsXM2bMGB5//HF69+7N3//+d6ZMmVLpzcm3334755xzDueffz5f\nffUVI0eOLK9kTG779ttvp2fPntxxxx3cf//9bLXVVlx22WUZu2Fn66pc0+7hmdaV67pHjBjBwoUL\n+cMf/sCqVasYMGAAAwcOpHXr1jzzzDNcc801TJ06tbzCeIcdduDKK6+kffv2Oe0LwKBBg2jdujVr\n1qzJeC4uvfRS1q5dy1133cWUKVPo378/jzzyCBdffHHO+yUiIiKSK6urAbCLjZn1A2bPnj2bfv36\nFTo6IiIi0kDmzJlD//79URlApO7ouhIREWmaUmUAoL+7z6kqrMZkFBERERERERERkbyou7SIiIiI\nNCmLFy+ucn7r1q0rjW8oIiIiIlVTJaOIiIiINCldunTBzDK+xMXMOPnkkxk3blwBYiYiIiLSeKmS\nUURERESalOnTp1c5f+utt26gmIiIiIhsPFTJKCIiIiJNyn777VfoKIiIiIhsdPTiFxERERERERER\nEcmLKhlFREREREREREQkL6pkFBERERERERERkbxoTEYRERHZKM2dO7fQURDZaOh6EhERkeqoklFE\nREQ2Kp06daJNmzaceOKJhY6KyEalTZs2dOrUqdDREBERkSKlSkYRERHZqHTr1o25c+eyZMmSQkdF\nZKPSqVMnunXrVuhoiIiISJFSJaNIFSZNmsTQoUMLHQ2RnCi9SmNTn2m2W7duqgyROqU8VhoTpVdp\nTJRepbFRms2uVi9+MbOfmdmHZvaFmb1gZt+tJvwQM5sbw79mZgcn5nc2szvM7GMzW2Nmj5hZr0SY\nGWZWlvYpNbPRtYm/SK4mTZpU6CiI5EzpVRobpVlpTJRepTFRepXGROlVGhul2exqXMloZscC1wEj\nge8ArwGPmVnGAVrMbE/gLuCvwLeBB4D7zax3WrAHgO7A4THMQmC6mbVOC+PAWGBLYCugC3BRTeMv\nIiIiIiIiIiIidas2LRnPA8a4+wR3nwecCawFTskS/ufAo+5+vbu/4+4jgDnA2QBmtj3wfeBMd5/j\n7u8BPwVaA8n2p2vd/TN3/zR+Vtci/iIiIiIiIiIiIlKHalTJaGYtgP7AE6lp7u7AdGCPLIvtEeen\neywt/CaEVopfJtb5JbBXYrkTzOwzM3vDzK5JtHQUERERERERERGRAqjpi186Ac2AxYnpi4Edsyyz\nVZbwW8X/5wH/BX5rZqlWkecB2xC6RKf8HVgA/A/oC1wL7AAcnWW7rQDmzp1b5Q6JVGXlypXMmTOn\n0NEQyYnSqzQ2SrPSmCi9SmOi9CqNidKrNDZNLc2m1au1qi6shUaDuTGzLsDHwB7uPitt+u+Bfdy9\nUmtGM/sSOMndJ6dN+ykwwt27xO/fAW4njMe4ntDysSzG79AscRkYw/Vy9w8zzD+eUDEpIiIiIiIi\nIiIitXeCu99VVYCatmRcApQSXr6SbkvgkyzLfFJdeHd/BehnZpsBLd19qZm9ALxURVxmAQb0AipV\nMhK6ZJ8AzAfWVbEeERERERERERERqawV4WXNj1UXsEaVjO7+tZnNBvYHHgQwM4vfb8qy2MwM8w+M\n05PrXxXXuT2wG3BZFdH5DmEsx0VZ4rqU8FZrERERERERERERqZ3ncwlU05aMANcDd8TKxhcJ4ye2\nAe4AMLMJwEfufmkMfyMww8zOBx4mvDG6P/CT1ArN7GjgM2AhYbzFPwH3uvsTcf52wPHAI8BSYNcY\nj6fd/c1a7IOIiIiIiIiIiIjUkRpXMrr7FDPrBFxJ6Pb8KnCQu38Wg2xDGFcxFX5mHB/x6vh5DzjC\n3d9OW20XQqVhZ0LLxPHAb9LmfwUcAJwLtCW8KGZqXJ+IiIiIiIiIiIgUUI1e/CIiIiIiIiIiIiKS\nVFLoCIiIiIiIiIiIiEjjpkpGaZLM7Ewze83MVsbP82b2o2qWGWJmc83si7jswQ0VX5GaplkzO9nM\nysysNP4tM7O1DRlnEQAzuzimv+urCac8VopCLmlWeawUipmNTEtzqc/b1Syj/FUKoqbpVXmrFAMz\n29rMJprZEjNbG/PNftUss6+ZzTazdWb2rpmd3FDxLTaqZJSm6r/Ar4B+hBcRPQk8YGY7ZQpsZnsS\n3lb+V+DbwAPA/WbWu2GiK1KzNButBLZK+2xb35EUSWdm3wVOB16rJpzyWCkKuabZSHmsFMqbhLHx\nU2lvr2wBlb9KEcg5vUbKW6VgzKwD8BzwJXAQsBPwS2B5Fct0B/4BPEF4SfGNwG1mdmA9R7coaUxG\nkcjMlgIXuPvfMsy7G2jj7oPSps0EXnH3sxowmiLlqkmzJwM3uHvHho+ZCJjZpsBs4KfA5YT88vws\nYZXHSsHVMM0qj5WCMLORhJdoVtmqJi288lcpmFqkV+WtUlBm9jtgD3cfUINlfg8c7O5906ZNAtq7\n+yH1EM2ippaM0uSZWYmZHQe0AWZmCbYHMD0x7bE4XaRB5ZhmATY1s/lmttDM1GpBGtpfgIfc/ckc\nwiqPlWJQkzQLymOlcLY3s4/N7H0zu9PMulYRVvmrFFpN0isob5XCOhx42cymmNliM5tjZqdVs8zu\nKJ8tp0pGabLMbBczW0VoCj0aONLd52UJvhWwODFtcZwu0iBqmGbfAU4BBgEnEPL7581s6waJrDRp\nsRL828AlOS6iPFYKqhZpVnmsFMoLwDBCN74zgR7AM2bWNkt45a9SSDVNr8pbpdC2I/RoeAf4IXAL\ncJOZ/V8Vy2TLZ9uZ2Sb1Essi1rzQERApoHmEMRPaA0cDE8xsnyoqbUQKLec06+4vEAp2QHnXqLnA\nGcDIhomuNEVmtg3wJ+AAd/+60PERqU5t0qzyWCkUd38s7eubZvYisAA4Bqg0fIpIIdU0vSpvlSJQ\nArzo7pfH76+Z2S6ESvKJhYtW46GWjNJkuft6d//A3V9x98sIg7yfmyX4J4QBi9NtGaeLNIgaptlK\nywKvAL3qM44ihBcTfQOYY2Zfm9nXwADgXDP7yswswzLKY6WQapNmK1AeK4Xi7iuBd8me9pS/StHI\nIb0mwytvlYa2iFCxnW4u0K2KZbLls5+7+5d1GLdGQZWMIhuUANmaM88E9k9MO5Cqx8MTqW9VpdkK\nzKwE6EO4cYrUp+mEtPZtQsvbXYGXgTuBXT3zG+eUx0oh1SbNVqA8VgolvrCoJ9nTnvJXKRo5pNdk\neOWt0tCeA3ZMTNuR0AI3m0z57A9povmsuktLk2Rm1wCPAguBzQhjfgwgZAaY2QTgI3e/NC5yIzDD\nzM4HHgaGElo+/KSBoy5NVE3TrJldTuhu8h+gA3AR4QncbQ0eeWlS3H0N8Hb6NDNbAyx197nx+3jg\nY+WxUgxqk2aVx0qhmNkfgIcIP3i/CYwC1gOT4nyVYaVo1DS9Km+VInAD8JyZXQJMAb4PnEZanhl/\nl33T3U+Ok24FfhbfMj2OUOF4NNDk3iwNqmSUpqszMB7oAqwEXgd+mPZGyW0IN0AA3H2mmR0PXB0/\n7wFHuHuFHyUi9ahGaRbYHBhLGIh4OTAb2ENjjkqBJFuCdQVKy2cqj5XiU2WaRXmsFM42wF3AFsBn\nwL+B3d19adp8lWGlWNQovaK8VQrM3V82syOB3wGXAx8C57r73WnBuhDKBall5pvZoYQKyp8DHwGn\nunvyjdNNguXQA0REREREREREREQkK43JKCIiIiIiIiIiInlRJaOIiIiIiIiIiIjkRZWMIiIiIiIi\nIiIikhdVMoqIiIiIiIiIiEheVMkoIiIiIiIiIiIieVElo4iIiIiIiIiIiORFlYwiIiIiIiIiIiKS\nF1UyioiIiIiIiIiISF5UySgiIiIiIiIiIiJ5USWjiIiIiNQbMxtgZqVm1q7QcRERERGR+qNKRhER\nERGpFTMrixWIZRk+pWY2AngO6OLunxc6viIiIiJSf8zdCx0HEREREWmEzKxz2tfjgFHADoDFaavd\nfW2DR0xEREREGpxaMoqIiIhIrbj7p6kPsDJM8s/Spq+N3aXLUt2lzexkM1tuZoea2TwzW2NmU8ys\ndZz3oZktM7MbzSxVWYmZtTSzP5rZR2a22sxmmtmAQu27iIiIiFTUvNAREBEREZGNXrLrTBvgHOAY\noB1wX/wsBw4GtgPuBf4NTI3L/AX4VlxmEXAk8KiZ9XH39+t7B0RERESkaqpkFBEREZGG1hw4093n\nA5jZPcCJQGd3/wKYZ2ZPAQOBqWbWDRgGdHX3T+I6rjezg4HhwK8bOP4iIiIikqBKRhERERFpaGtT\nFYzRYmB+rGBMn5Ya83EXoBnwbnoXaqAlsKQ+IyoiIiIiuVElo4iIiIg0tK8T3z3LtNT44ZsC64F+\nQFki3Oo6j52IiIiI1JgqGUVERESk2L1CaMm4pbs/V+jIiIiIiEhleru01DkzGxbfItmtANtOvcFy\nn4be9sbAzNqa2WIzG1rouGxszOwOM/uwBmFX5Ri2zMxG5Be74mZm8+N+lpnZTQ287V3Ttl1mZoPz\nWFeDx78qNUlnNVjnfDMbl0O4SveJ+Kbg39dlfKSoWPVBsnP394C7gAlmdqSZdTez75nZxXFcRqlG\nUy2fmdmMOL7nRq+uygRmdkVcV8ccwuaU70tmhSx7m9nJ8Tz3yyFsk7mOasrMRqaVEz8vwPZfSdv+\ngw29/WKn8neFcA1S/lYlYxNkZmfFxDUzz/VcYmZHZJjlVH6LZJ0ys5+a2clZZtfrtvNlZpuY2Xlm\n9oKZrTCzL8zsHTO72cy2TwuXfsMqM7M1ZrbAzB6MGUTLDOv+W2KZ1KfUzH6YQ/R+AXwO3J22zq3M\n7Hdm9qSZfV7djwQz29PM/h3ju8jMbjSzthnCtTSz35vZx2a2Nh6PA3KIY2r5rc1sipktN7OVZna/\nmfXIsI2bzexTM/uvmV2WYT3bmNkqM9sj123XkpPWxc/MWsdznOlY1uQaqtPrzcx2MLMbzOy5mDYz\n/iA1s45mdqGZPR2P7/J4kzomy3rzOd8OPAOcAIyv/d7VygLCyyiuJofjbGZ7xPPart5jlr/6yKvz\nSbe/B35mZp0zhJfGry7S2jBgAvBHYB7h7dO7AQvrYN0Fp/JZvalw/60JMxtqZufWcXwag5qklbIa\nhAXAzA42s5E1jtXGqVLZO8XMDjCzJ+Lvhc/N7GUzG5JtRWa2nZmtsxwrDqOa3LdrdR3VNTO7zMwe\nMLNPrIqKdTMbbGZ3m9n78XfJPDP7o5m1zxJ+kJnNjuXfBRYq25vlGC0nlFNPreVu5eMSQlm1yY5P\nrPJ3cZW/VcnYNB0PfAh8z8y2y2M9lwKZCrETgNbuXp+F/rOASoVYd386bvuZetx2rZnZFsBzhB9I\ni4HLCftyH3A48EZiEQfOINw4zgb+CmwOjANeNLNvZtjMOsJN7sS0z/8Br1UTt+bAz4G/unt65rMj\ncCGwNfA6VWRiZvZtYDrQCjgvxvd0YEqG4OMJBauJcbvrgUfMbM+q4hm30xaYAewN/AYYAXwHmGFm\nm6cFvYiw/78nHLPLzezYxOr+ANzv7nn9qMvBacC30r63AUYC++a53taECrC6sgchrW0KvE32870H\ncBWwNP69FFgD3J3lh0Otz3f0gbtPcvfZue5IXXD3Fe5+FyFd59ISa09CeuxQrxHbOD1A+KF1VqEj\nIrXj7uPdvVLLJ3d/2t2bufvn2cK5+yh375eYNtzdB6d9L43herp7K3ffxt2Pdve36mufGpjKZ/Xj\nQOCgWi57PNAUKxlrYkdCWa8mDiHcK5u0KsremNlw4DHgK0Il0gXA00DXKlb5pxi+Pir087mO6tpV\nhAdMc6h6X8cQyt4TgXOARwll3OfNbJP0gBZaxN8HLIth7gN+DeTcAi6WU6fmvht1w93/Gcuqaxp6\n20VE5e/aq/Pyt8ZkbGJiS689gSOBsYTKqKvqchvxJvlVXa6zhtsv2LZzMB7YFTjK3e9Pn2Fml5O5\nsmiauy9L+/4bC10qJgJTCecz3Xp3n1SLuB0OdIrrTPcysIW7rzCzowiVS9lcQ7g5D3D3NQBmtgAY\na2YHuPv0OO17wLHAL939hjhtIvAmcC2wVzVx/RnQE/iuu8+Jy/8zLv9LQqEA4FDgj+5+XQzTDRgE\nTI7f94phdqxme3lz91KgNG1SXl0H09Zb1+n9AeAed19jZr8Evp0l3JvA9u7+37Rpt5jZdOBXZnZt\n6i2xdXC+G5M6Oa+VVmrWxt3X1se6i4W7u5ndA5wEXFHg6Ig0KJXP6nW76wux3WzMzICW7v5loeNS\nF9w9+cKmXNTLvTLnjRfPPTVj2dvMtgX+DNzo7ufnsiIzO4hQEXgtG8rBdabIrqPu7r4wNt74rIpw\nRyUfbJjZHMLvsRMIDRBS/gi8Chzk7mUx7CrgEjO70d3frdM9aKSK6NpJUvm7luqj/K2WjE3PCYRK\noIeBe+L3Siw418xej03GPzWzR1NN782sjNASK9Wvv8ziOACW6OtvZg+Z2ftZtjPTzF5M+z48dgtY\nHJv7v2VmZyaW+RDYGdg3bdtPxnkZx/wxsyGxi8FaM/vMzCaa2daJMHdY6Da7tYWut6vifv8hFgjT\nwx4X1/e5ha66r5vZz6s68LGi5RDgtmQFI4RCmrtfVNU60sJOAm4Dvm9m++eyTA6OAOa7e4VxA919\njbuvqG5hM9sMOACYmKpgjCYQnqyld6M9mtCS7a9p2/kSuB3YI0sLzXRHAS+lKhjj8u8ATyS20xpI\nj/syQrpNFfL/BPze3RdVt39xmfZmtt7Mzk6btkVMc58lwt5iZv9L+14+JmMsPH5KePqaGveoUneP\nHNNiheVswzhKPeM2l1voZjPOzFpVt4+x5V61T0LdfUGigjHlfmATIL0VTr7nO6O0632IhS4SH8Vr\ncqqZbWahi/afYn6yKh6DFol1HGhmz8bjtMpCV5patQy10ILz2vg1NY5kqSW6m5vZEWb2Rszj3rTw\nwyB9fuoc7mRmd5nZMuDZtPk7mtk9ZrY05s8vmdnhiXU0j8fk3RhmSdzPSvlFjumsjZldZ2YLY7zn\nWaiEzuW49LYw3MJa2zBsQbbyx7+Abc1s11zWLbIRUfmsDspnWfZlRioeibgMsdDt8r/xWE43s55p\n4Z4iPIjcNm1/Pkib39LMRpnZe/GYLLQwLEjLxPbLzOwmMzvezN4k9Dg5PObht2eI72YxPtfG7y3M\n7Mp4nFaY2Woze8bM9s1h3ze1cB/8MMZxsZk9bqHnSS42t2rKEpYYC6y6+4+Z/Y3YYibtuJamLZ/T\n/cbMWsXj+pmFe//9MY1kKxdVuqeaWR8LQw29H+O6yMxut8RYlGnr2N7M7ozH4lMzuzLO7xq3vzKu\nI6eKQbKUvYGfEu6TI+P6Kw07lIhfc0KZ9k/AB1WFzaKtmY2J52qlmY03swotwmp7HcWwvcxsWjw2\nX8Swkyz8dqixXFtjZ2k5fV/8u1Na/HaK38emKhij0YTzcHRt4hnXPd/CUFcDLJTX1lrIvwfE+YNt\nQ37+cvLaNLMtYxr9b7we/hfTWq3H1rUw5NHEeK6Xx/X3jefzpLRwqbx3OzN7xMJ4k3emzf++mf0z\nXg9rYhqp1EMpXpfjLHRvT5V9hyfC5JyeMqxf5e/Mx6Vg5W+1ZGx6jie0jFtvZpOAM82sf4YuiOMI\n3V0eJlQMNCd0Td2d0DT9REIFwSzCE3eAVEE12dd/MjA+uZ144X+f0PIs5UxC66YHCJUShwOjzczc\n/ZYY5lzC071VhK6yRuh6nJLsbjAs7s8s4GJgS0K3zT3N7Dup7ltxuRJC14QXYrwOAM4H/kNoco+Z\nHUgYfP5fhO64EG5Me1J1k/pBcRt3VhGmJiYSuqf8kFC5Vs7Ck710X6ftZzZ7Es5tbfUhpJMKacnd\nvzazVwndmVO+Dbzr7qsT63gxbf7HmTYSM9++hPSX9CJwoJm1jRVlLwFnmNnTwGbAUDaco9OALQhP\nLnPi7ist/EDYh5AGIbTCKwM6mtlO7j43bfqz6YuzIW1+RkjrtxLGFLs3Tn89LXxzqkmL2aIZ/04h\nFDQvBvoR9ncxoctNfeoS/6aPC1Pr852jS4C1wG+BXoQuMV8TzksHQiF9d0Ke9gEh38DMegMPEZ5c\nXw58GZfPtQt30jRgB+A4Qj61NE5Pr4DeGxhMKLiuInSTusfMurn78hgmdQ6nAu/G/bMY552BfwMf\nxf1NVeDfb2aD3f2BuOwowrkfS7gO2hG6FvWjYn6Razp7CBhAeLjxGqHL1B/MbGt3z1rYMbMtCUMb\nlBBaOq8l5FvrsiwyO+7rD6hmiAeRjYzKZ3mWz6qQrTvlxYQeBn8A2gO/IpTRUj02fhOnfzPGBI/8\nEwAAIABJREFUy4DVMe5GyBf3jNufRygHnQdsT8jn0+1PyKv/TLg/vkuo7DjSzM5ItBI7EmgJpHql\ntANOid/HEsozpwL/NLPvuXt62SFpTIzLzcBcQrlnL0K59dUqliPuby5lieTxre7+cythCJ4DCJXp\nyYriXO834wmVPxMIaWgA4bpIxifrPZXQ8q8HIR1+QqgkPwPoTcWeO6l1TCYMJfMrQgX0ZbEi4oy4\nbxfFffqDmb3o7v+matnK3vsT0tShZvYH4Jtmthz4CzAy2bWakO46EHpEHVXNNpOMkC6XE8pLOxIq\ngbsBA9PC1eo6svBw93GgBaEM/gnhmjosxrlOX4CRg0zl1O8Q9i/5G2aRmX1Exd8wNeWEPOHvhOtx\nImEYqgfN7KeEc/YXwnm4lJDG0ntY3Uu4Xm8ijBPemZBuu1GL8Yhj3vUPwjU5GniHUNk9nszXTqqc\n+Cwh710b17Mf8Aihx9sVhDL3cOBJM9vL3V+O4ToTrs/SuA9LgIOB281sM3dP/nauLl/OROXvhIKX\nv91dnybyAfoTMoCBadMWAtcnwg2M4a6vZn2rgHEZpp9MyBy6xe+bAV8A1ybCXUgoqG6TNm2TDOt7\nFHgvMe0N4MkMYQfEbe8Tvzcn3MxeJXRNSYU7JO7jyLRpf4vLXppY52zgxbTvNwDLa3H8p8X1t8sx\n/MgYvmOW+e3jPtyT2IeyDJ9KxyqxrmZxW9dWE+6o9OObZd4PMsybDHycOH//yhBupxjfn1QRhy1i\nmMsyzPtpjMP28fs3CRV3ZXH6U4QWHu0JheSja3Eebwb+l/b9j3G9i4DT47TN4/bOTpybDzLsx4gM\n28gpLcZpFdYR000Z4WlsMv19WsN9/SVp13IO4TeP19tTiem1Pt8x3IdkzmsGxOVfA5qlTf97jPc/\nEuGfS5yDc2O4zXPYt9S2Btf2mMXlvyB080lN6xOnn5XhHE7MsI7pwCtA88T0fwPz0r6/AjxYTVxz\nzfOOiPG5OBFuCiEP75HtXBHyy1KgfyLtL6/iOK0D/lyTtKqPPo35g8pndVI+q+J4PJUep7T8/E0q\n3jvOidvpnTbtIdLuG2nTTyQ8zNojMf30uI7d06aVxbA7JsIeGOcdkpj+cPpxJfzwS+b57Qjljr8m\npifLBMuBm2qRJnMuS2TI93O5/9wMlGaYntP9hlDpU0YYEic93Lh4/DOVizLdUzOl62NJlGfT1jE6\nbVoJ4TpdD1yQNr09oQKi0jWY2E7WsjehF85SQsXASELF88QYh6sTYbcCVgKnxu+p67xfDuf55LjO\nWYlr4YK4jsPyvY4Iw0SVAUfWNB3mEP+sZekqlrmNMGxEz7RpqbLbNzOEnwU8l8P1Uik9p10fpcD3\n0qalrv3V6dsEfkLFfDL1W+/8HPftwxyuvcFxnWcnpk+P2z4pbVoq7/1NhvW8AzycvJ4ID7X+mTje\nHwEdEmHvIrTe36Qm6amK/VL5u4jK3+ou3bScQCjQzUibNhk4LtE09yhCgr6yLjbq7qsIBdHkW2eP\nAV5w94/SwpaPT2Nm7WKLvGeA7ax2Tep3IzzxGe1pYwG5+yPEJ4QZlkk+EX+Wil0/VxC6FdR08OPU\n267q6oldqlVY8rh8QXgCekDap7pm1R0Jhdjl1YSrSuv4N9MYQ+vS5qfCZgtHImxNt1Mext0/JhRE\nvw3s7O4DPYyrMZJwQ7jHzPay8KbjhRbehF1dC+9ngS1tw5vA9yak0Wfj/6T9fZb8VJcWs/Esy25h\nZpvmGaeMYh5yF6FAdE5idj7nOxfjPYx5mTIr/h2XCDcL6GpmqXtfqiv9kcnuCfXoX+4+P/XF3d8g\nDLacPK+VzqGFlxoNJDxhbW+hq/4WMZ98HNjezFJP6FcAO5tZrxziVF06O5hQmLk5Ee46wo+sg6tY\n98GEfL68dYC7LyVUBGeznDBGlUhTofLZhu3kUz6rqXGJe8ezhLJQLus8mtAy8N1EXvxUXMfARPgZ\nHoZ1SfckoVVP+QvpLHRRPYC0Nw17sD7Ot3gvaEloQVTdG4RXEIbW6VJNuExqW5aoyf0nKdf7zcEx\nfrckwt1M5rHZMu1LMl1vEs/hrLiO5LF10nrReOhW+3IMOy5t+kpCBUx16aiqsvemhFZ+Izy87Oo+\nd/8/4J/AuVax+/TvgffdPVMPn1yNTVwLtxAqIg7JYdnqrqOV8e+PzCzf8l5ezOx4QqvgP7p7+lAR\nNfkNUxtvu/uLad9T5dQn4m+V9Onpx+4LQoXovpbovp6Hg+I6b0tMT7WmzOTW9C8WunRvD0xK5H+b\nEVrrpQ+LMZjwsKZZhnJreypfZ/nky1VR+bsBy9+qZGwi4o/qYwmFn+0sjNfWk9BdcStCpVTKdoSW\nWtWOw1cDkwk/7neP8dmO8OT+7vRAZvYDC2MvrCZcpJ+x4WUo7Wux3W0JmUWmwXrnxfnp1sULMN1y\nQgutlNFxfY/E8Q1uz7HCMdXtp1bjj2SQKuAlKy1L3f0pd38y7fNKjuvMp6Lli/h3kwzzWqXNT4XN\nFo5E2Jpup8LyHt5G+rq7zwMws28RWjz+PN40/kHoinA04cniZVVsGzbc7PY2szaESsxnqVzJ+Lm7\n59PcPJe0WJVkF4pUITbX5Wvqz4Su+6e6+5uJefmc71wkx4ZcWcX0EjbkJZMJrRv/Ciy2MD7QkHqu\ncMw0jmW28/ph4nsvQtq7ipA3pn+uiGE6x7+pN+y9a2Gsn2vNrE+GbeSSzrYl3BOSY3XOTZufzbbA\nexmmJ39spzPq582YIkVH5bM6LZ/VVDI/rsl9cntC19pkXvwOYb86J8LPT64g/pCeBhxhG8YLPorQ\nynNKelgzO9nMXiNUeCwljOt8KNUf+4uAXYD/mtksC2OF9chh/1JqU5bI9f6TSa73m26ECvfkffI/\nVaw7GRYz2zw+YP6EUBb5jNA93Ml8bJPHYyUhbS7LMD3XtJmpzJEqF92dmD6JUOH1nRj/3QkPKX6R\n47YycRLHLR7/RUD3HJav8jqKFTvXEbraL7Ewht9ZZtaOBmRmexMq1h6l8otxavIbpjYqpBvfMBTE\nR4lwqfJr6th9RegufDChnPq0mV0Yu8LW1rbAIndPdpvNdu2sT3/gFKUaWkygYv73KeE8t7Qwjv03\nCHnB6VTOK1MV88m8Mp98uSoqfwcNUv5WJWPTsR9hDIrjCAku9ZlMSEwZBxivQw8RMujU0/JUV4R7\nUgFiwXY64cneeYSnZwcQmvtCw6TX0uoCuPtnhJZxgwhjE+0LPGphIOuqzIt/cy1oVWeX+LeqAlWu\nlhHSQT4Z+CJC5pTpaXkX4H+JsNnCkQibtIzwpLG2y98ATIgVgIcBS9392viE8VqquRY8vCTmQ8JT\nutT4IDMJlYxdzawrYbyj56taTw6qTYu1XL7OK9AsDLh8JvArd78rQ5B8zncusu1rlcfA3de5+z6E\nfGYC4dqcDDxejxWNNTkvyUJtKg/8IxVbKqc+BxLzA3d/lvAG9uGE7ounAnPM7JQc41NIHag4VpLI\nxkzls9zUR16Vz32yhJC3JnuOpPLi0Ynw2Sop7ib0dEm1SDmG0NPijfLImJ1I6F73HqEV1kFxO09S\nzbF396mEyumzCWMfXwC8VYPeODU+RjW4/zS0TOdgKiF+owldkg8kHF8j87HNdDxqm46qKnunykWL\nE9M/jetNLXMtofy5wMy2tfBiwW/EeVvHMml9q3b/3f1CwnjqVxMq7W4C3rTES57qi4WXWTxAGEJp\niFd8uQuEcirk9humNmpVTgVw9xsJ4w1eTEjDVwJzreFekJepdWfq2kiNJZj8/JDQ4y4V7s4s4Q4k\nPOxPV1+/X1T+rl6dlb/14pem40TCjeosKl9MRxG6C54Zuw28D/zQzDpU87Q855pud19rZv8Ahlh4\nI9IxwLPu/klasMMJ3T8OT286bpnfnpzrthcQ9ndHKnZDIk5bkON6Km48dFt5OH4ws1uA083sKnfP\n9la3hwgDyJ5I5Qy1Nk4iHIfH8l2Ru5daeMNkTZ5uJ71JaNK9GxV/nLQgVMpOTgv7KqHp/6Ze8WUg\nuxP2Ketg5O7uZvZG3E7S9wljJ2V8O7KZHRa3cWKc1IUNBQsIhYhc3nScarU4H3jV3dfEFgYrCT8U\n+hGeZFVlo2ipZWY/I3Q/v97ds71Ep9bnuyG4+1OEVkQXmNklhMH+BxJ+wNV4dXUZt4RU3vK1u1cb\nt5h/jye82KENId1eQeVu5NVZAOxvG16olLJT2vyqlt0+w/RvZQocf3C0ZMNTWpGNncpndVg+qwfZ\n9ud9oG+8f+TjGUI55Fgze45w77kqEeYoQnfYCm+4tfhm4+q4+2JCd8dbzawTYcywy6iD8mMV26zu\n/pPtuFZ3v5mfFq6EUG5N7/aa6X6TUex+uh9wubtfnTa9Nt28a6yasvdsQuupb1KxFew3Ccfu0/i9\nK6FVZ7LllQMPElodd6RqRjhuT5dPCN2xuxB/59QFd38LeAu4JrbAfJ7wgLq68nJeYsvwfxKGpDgk\nDpuU9CrhOOxG6AKfWrYLsA2J7sINzcPbx28Aboj78xqhgu+kKhfMbAGhTN4q0Zox52uHDdfcqqrK\no2b2GaHHXbNcyq15Uvm78rIFK3+rJWMTYGatCE/nHopjetyb/iF0c2xHaJkHoetGCaHioCprCDXe\nuZpMeJvcaYRBgJNdAFI1+uXp0szaA8Py2PbLhBvxmWldUTCzgwkX6D9yjHs5M8t0s049cc7UzB4A\nd3+BcJM7zcyOyLDelhbeIJdLHI4nPBl5vg4KuCkzyVxxl5PY9H86cKJVHCvmJKAtFbv+3EN4yHF6\naoKZtSSc6xcSP2K6mln6W9ZSy3/XzPqlhduRUFicQgbx/F8HXJXWPH0x0Ms2jNHXm1AIqc6zhELh\nMfF/3N0Jx/D8uG/VjceYKuTU1RgrDc7MjgVuJAyQfEEVQXM+3w0pdpdPeo1Q0Mx6LVcjVQio8/Ma\nW1HPILwxfavk/PjjMfV/hXwqFqr/Q+326xHC+Ts7Mf08Qne1R6tZdnczK89bYveZ47OE708oKObb\nElik6Kl8Vrfls3qyhszdZqcA25jZT5IzzKxV/GFZrVh2uIdQkft/hJeBJMsxlVq8mNn3qfptq5hZ\nSbJLqrsvITxQre09rlo53n/WxLDJLrPV3W/+Gb8/RrhXn5UIdw65VzZUStdp22qoB8HZyt6TCft3\nampC7GExnNACMvVG6p8Q8pAfp31S47edT+4toU+3imOSn0VIi4/kuHxWZraZmTVLTH6LcD7rLR3G\nbW9JGDNvPfCjDN3aAXD3twk9zk5P9GQ5K8ZzWn3GMxsza21myWP0IaHirrbH7jFCZVJ53hX3+Wfk\nnu5nEyoaL0j85kutrxOUj1s6DTjKwtuZM4arIyp/V162YOVvtWRsGo4gjAP4YJb5LxDGFDgBmOru\nM8xsImHMuh0IN/QSQsutJ9091QVkNnCAmZ1HKLB8mBjUNukRQtPpPxIy+3sT8x8nvH3vH2Y2Jsb5\nNEJFUPKCnk0omF5GuHA/TatsS29ivt7MfkV4cvCMmU2K6/o54anEn6qIbza3xQzkScJYGt0JF/8r\n7l5d7f9JhMx9Wmw58AQhU9ye0FVqK8JbHVOM0LpgNeGG8E1CN44fEJ5EJwdrz8cDhArCXu5eoQu2\nmf2akPHsHON0koWxTUh/+kt4Mv4c4ViPJTxhPR94zN3/lQrk7i+a2VTgt7EA8B/Cj5VtCQWodBMJ\nXZPTC4GjCTfHR8wslZ7OI7QGuD7L/v0i7sNNadMeIQx0PMnMZhLGaBmbZfl0qQrEHYFL06Y/Q2jJ\nuA54qaoVuPs6M3ub0HrhPUKh8c34pLdgYoH/54Rj9QPC+T7HzFYAK9z9LzHcdwldjJcAT5lZsiD7\nfHzyWtPzXWe7kkOYEWa2D+FJ/QJgS8J4nQsJb4urjdlx29eY2d2EPO1Bd893PJ+UnxHS3xtm9ldC\nPrYl4cfmN4njNAFvm9mMGJ9lwHcJ447elFxhDh4itPS82sJYXq8R8qHDgRtS5zmLawk/nB8zsxsJ\nles/IbTM6Jsh/A+Bhe5e0NatIg1E5bO6LZ/Vh9nAMWZ2HeG+vtrd/0EomxwD3GJmAwlln2aECtIh\nhLxsTuZVVjKZUDk2CnjDK78g5h/AYDO7n3C/2g44g1BRU9ULWDYDPjKzewj59mpCt77dCGWz+pLL\n/Sd1r7zZzB4jjCc+mRzvN+4+x8ymAb+IP/BfILydNtVyp9rKEndfZWbPABfFB58fE85bd+phaJks\nMpa93f0BM3sCuCRWDLxGqEzcEzjd3b+O4aYnVxgfoBrwjLvnmgZbAk+Y2RRCS6efElo010Vl/37A\nn2M58F1C/cNJhLymvPLOzK4gtGrc192fqWqFFoYQ2JbQiAFgQMxzIAyJlBp/7zHC+byWMJZ6+moW\nJ47fhYTz8a9YfutDKHP9NcM12VB2YMN5eZtwzAYTxv+bVMt13k8Y8/c6Cy+xnEd4kJWqnMvl2nEz\nO41w73jLwpBhHxPKoQMJPbtSDWouJgwtNiuWW98mtK7tT0gbdVXRqPJ3RYUtf3sdvKJan+L+EDLM\n1UCrKsKMI1SMbB6/G6EA8hZhXIJPCIWcb6ctswMh4a8mPA0cF6efTPZXo0+M8/6ZJR6HEirP1hCe\nkPySUBlRYX2EzDXVDaCUULiGUMAoBfZJrPdowlPztYQC+3igSyLM34CVGeI0kjDober7kYQnB4vi\nsfmQUFHVOcfzsQmhQuwFQib8BSGDv4GKr6IfGfcl9VlDqAh5gHBzbpFh3Rn3Icd4tSC0Krg0w7yy\nRFxSn/UZwu5JyITXxHRzI9A2Q7iWhDfifRzPywvAARnCPZVlO1sTCubL43G8H9guy751jmnlkAzz\nfhjT+VLCdZD1Okks9wnhZt8pse+lwFNZzs37iWnfJ9zov4jLjahJWozTSgldfZLppmMiXNbrMhFu\n2yrO9wcZ1pftc1JtzneWOH1IzF8S01PX++As+9ovw/ErPzaEQs+9hMGgv4h/JwI9s2yrLLmtLPG9\nlFBR+XX6MY//35gh/AfA7dWdw7T53WMa+ZiQby8k5AtHpoW5hNBCYikhj36LMHh4s0SazDWdtSFU\nQPw3bnMecF51+xKn7Ux4KLMmxvUSQuVyMl+3uE9X5JIu9NGnsX9Q+QzqsHxWxTF8ivAWVxJxSd47\ntiVx/4p538SYlybvg80IYxy+HuO/hHBPvwzYNC1cxrw/se0FMdzFWeb/Kuava+PxOpjM5YryMgGh\nXPc7QmXnCsILCOcQKqmqO2Y5lyWofA/L5f5TQqhITpWlShPHPJf7TWpsv88I5cB7CF2My4ALq9uX\nOK9LXG4poUJgEqHiINeyVba0+RTwWg7HuaqydxvCg/OPCdf6q8BxOawzYxmomrB7Ed4ovSQey/FA\nh7q4jghllr8SKhjXxPM1nVCZmL7cH2Ja2CHHazpb+XOftHBVlVOfzLDeQYTKobWEa/KK9HRb3fWS\nZd4HwAMZplfKF9KO3Xnxe8eYxt8iXL/LCC3NMpZFCeXlB3OIb0dCvrYirvM2QmVZGWHMyirTd9r8\nvoRxTT+Nx+wDwjWUPLed4n7MJ1zTHxMeXp1S0/RUzX6p/F1xWsHK3xZXLCKSarE4HOjlyhykSJjZ\nh4RC1c+BLzzzeDr1te0SwgDrewH3AUd76MYodczMfkwYHLynhzHEREREcmZm3yZUpJ7g7rVt6dWg\nVPYOzGwWodX1cYWOS01ZeAHiCMJDFvcs3bLrcfvtCRXWswmV24OqWSTTOn5MaFm6l7vPrOMoShGr\nj/J3QcZkNLO9zexBM/vYzMrMrNoLwcz2NbPZZrbOzN41s5MbIq4iTcwNhK4Hje4GLxu94whPSn/X\nwNvtQ3jqfi8byct6ithFwM2qYJRiZ2abmtmfzGy+ma01s3+nj3skIvXPwpimSb8gtNKpsrttkWny\nZW8z24zQKq5eXwLTAD6j4ot6GsoMQhl5m1wCJ6+d+ED9HDa0dpampc7L34Uak7Etocn37VQe96US\nM+tO6AoymjBY5QGEcfH+52njvIlIfjy8uarSgLYiBXY80Dr+/9+qAtaD/xDuOSmvN/D2mwx337PQ\ncRDJ0e2EF4WdQBg65f+A6Wa2k7svKmjMRJqOi8ysP3FYHeAQwnhlY7xAL5SrDZW9w/iYbCjnNUbj\n2TBe+/oCbP90whisECo6q3OzmbUmdOvdhPAG+92BS9z9y/qJohSr+ih/F7y7tJmVAT9292yDXmNm\nvwcOdve+adMmAe3d/ZAGiKaIiIiINHGxBcgq4HB3/2fa9JeBR9y9sbfEEWkUzOwAQsu33oQX4Cwk\nvJDuGg9vtRWRDMxsKGFs316EsU3/A4x291sKGjHZaDSWt0vvThggNt1jhOblIiIiIiINoTnhhR/J\n1h5fEMZuFZEG4OHNwJXeriwiVYvjlTaKMUulcSrImIy1sBWQ7CO+GGhnZpsUID4iIiIi0sS4+2pC\nF7PLzayLmZWY2YmEN3N2KWzsRERERAqrsbRkrDEz24IwLsd8wuu+RURERBqbVkB34DF3X1rguEhw\nIjAO+Jgw/tYc4C6gf6bAKpOKiIhII5dzebSxVDJ+AmyZmLYl8HkVg5MeBPy9XmMlIiIi0jBOIFRk\nSYG5+4fAwDhwfjt3X2xmdwMfZFlEZVIRERHZGFRbHm0slYwzgYMT034Yp2czH2DIj7/LNt06ZQxQ\n2rwZS7dqX+WGt/hkJc3Wl2adv6Zda9a0y/4yrGZfrWeLTz+vchtLO7ejtGX2U9H28y9o+/kXWedv\nzPsx428z2Hf4vuXfG+t+JDWl/Xh42qwK5zBdY9qPjeV81HQ/HnhoNkccvqFxTmPdj6SmtB/T//7v\nCucwXWPaj43lfNR0P6ZduTfrVp8JsVwjxcPdvwC+MLPNCRWJF2QJOh9gv9P2o8sO6lFdTJLlTCkO\nOi/FS+emOOm8FKdlS5fx6OhHOfisg+m4RcdCRycvyz5axqM3PQo5lEcLUsloZm0JbzOyOGk7M9sV\nWObu/zWz3wJbu/vJcf6twM/iW6bHAfsDRwNVvVl6HUDLPXeg3Xd7ZQ20eV57Au3yXL6u1rGx7sdL\n979EryrOX33EQedjg7rYj7ZPvlmjc5hpHfnS+ah9HJq//D7tjvxeXutI0vmouzjkso7mT75Z4Rwm\nNZb9qM7Guh/NW34r9a+62RYJM/shoQz7DrA9cC3wNnBHlkXWAXTZoUte90OpezUtZ0rD0HkpXjo3\nxUnnpTgtWrQIWkLXXbvSpUvjfsi4qP2i1L/VlkcL9eKX3YBXgNmAA9cRxrMZFedvBXRNBXb3+cCh\nwAHAq8B5wKnxrWIiIiIiIg2lPfAXYC6hYvEZ4Efunr2prIiIiEgTUJCWjO7+NFVUcLr78AzTniHL\ngNoiIiIiGyP3QsdAktx9KjC10PEQERERKTaFaskoIiIiItVRJaOIiIiINBKqZJSitst+uxQ6CpIn\nncPGTeev8dM5FBHJTPljcdJ5KV46N8VJ56WIdS50BBqeKhmlqPXZv0+hoyB50jls3HT+Gj+dw8bN\ny9+RJyJ1TfljcdJ5KV46N8VJ56WIbVnoCDQ8VTKKiIiIiIiIiIhIXlTJKCIiIlKk3NWSUUREREQa\nB1UyioiIiBQpL1Mlo4iIiIg0DqpkFBERESlSqmQUERERkcZClYwiIiIiRUqVjCIiIiLSWKiSUURE\nRKRIlbmKaiIiIiLSOKjkKiIiIlKs1JJRRERERBoJVTKKiIiIFKnSUhXViomZlZjZVWb2gZmtNbP/\nmNmvCx0vERERkWLQvNAREBEREZHK3MFLmxU6GlLRxcAZwEnA28BuwB1mtsLd/1zQmImIiIgUmCoZ\nRURERIpQ2XpVMBahPYAH3P2f8ftCMzse+F4B4yQiIiJSFNQHR0RERKQIla5XMa0IPQ/sb2bbA5jZ\nrsAPgEcKGisRERGRIqCWjCIiIiJFqFQtGYvR74B2wDwzKyU8sL/M3e8ubLRERERECk+VjCIiIiJF\nyPVm6WJ0LHA8cBxhTMZvAzea2f/cfWJVC8742wxeuv+lCtN22W8X+uzfp77iKiIiIlIjbzzxBm8+\n+WaFaetWr8t5eVUyioiIiIjk5lrgGnefGr+/ZWbdgUuAKisZ9x2+L72+26t+YyciIiKShz7796n0\nAHTRu4sYe8bYnJbXYD8iIiIiIrlpA3hiWhkqU4uIiIioJaOIiIiISI4eAi4zs/8CbwH9gPOA2woa\nKxEREZEioEpGERERkaKkMRmL0NnAVcBfgM7A/4Bb4jQRERGRJk2VjCIiIiIiOXD3NcD58SMiIiIi\naTR+jIiIiEgR8uTIfyIiIiIiRUyVjCIiIiLFyNVdWkREREQaD1UyioiIiBQhtWQUERH5//buP8rO\nqr73+PsDoVLFH+veaECxWohSvZmqhSh4C8TEyq1WrbaK1lVrKAoVL5a21wr9gcXrD3SBFm0q6bLB\nSFFpV414tdKSmFp/IBEFEwVjlcoPk0gAkV8hCXzvH+dEZ4aZ5MycOfOcc+b9WutZM88+e+/zfdZm\nTjbf8zx7SxokJhklSZIkSZIkdcUkoyRJkiRJkqSumGSUJEmSJEmS1JXGkoxJTktyQ5L7klyZZPE+\n6v9hkuuT3JvkxiTnJ3nYbMUrSZIkSZIkaWKNJBmTnAicB5wNPAu4Frg8yfxJ6v8O8K52/V8CTgJO\nBN4xKwFLkiRJkiRJmlRTdzKeAVxYVaur6nrgVOBeWsnDiRwDfLGqPlFVN1bVFcDHgGfPTriSJEmS\nJEmSJjPrScYkBwBHAmv3lFVVAVfQSiZO5MvAkXseqU5yGPBC4DO9jVaSJKkpaToASZIkqWNN3Mk4\nH9gf2DaufBtw8EQNqupjtB6V/mKSncB3gc9X1bm9DFSSJEnao72e+IMTHB9oOjZJkqSmzWs6gE4k\nWQKcReux6quAhcAFSbZU1f/dW9v1q9azYc2GMWWLli5iZNlIj6KVJEmauo1rN7Jp3aaVu4pGAAAe\nRUlEQVSfnu/eOQ/4dHMBaSJH0fqyfI8R4F+BS5sJR5IkqX80kWTcDjwALBhXvgDYOkmbc4DVVbWq\nff6tJAcBFwJ7TTIuWb6EhYsXdhGuJElS740sGxnzJehdtx3E+b+9lNYqM+oHVXXb6PMkLwa+V1X/\n0VBIkiRJfWPWH5euql3A1cCyPWVJ0j7/8iTNHg48OK7swVFtJUmSpFnTXmf8NcCHm45FkiSpHzT1\nuPT5wEVJrqb1+PMZtBKJFwEkWQ3cXFVntet/GjgjyTXAV4Gn0Lq78bL2pjGSJEnSbHoZ8GjgI00H\nIkmS1A8aSTJW1aVJ5tNKFC4ArgFOqKpb21UOBXaPavJ2Wncuvh14AnArcBnw57MWtCRJkvQzJwH/\nUlWTLfczhuuES5I0d9xzzz1jfg6K8WuEA+y4e0fH7Rvb+KWqVgArJnlt6bjzPQnGt89CaJIkSdKk\nkvwC8HzgNztt4zrhkiTNHffee++Yn4Ni/BrhAFs2b2HlKSs7aj/razJKkiRJA+4kYBvw2aYDkSRJ\n6hcmGSVJkqQOtTcdfB1wUftpG0mSJGGSUZIkSZqK5wNPBFY1HYgkSVI/aWxNRkmSJGnQVNW/Afs3\nHYckSVK/8U5GSZIkSZIkSV0xyShJkiRJkiSpKyYZJUmSJEmSJHXFJKMkSZIkSZKkrphklCRJkiRJ\nktQVk4ySJEmSJEmSumKSUZIkSZIkSVJXTDJKkiRJkiRJ6opJRkmSJEmSJEldMckoSZIkSZIkqSsm\nGSVJkqQOJXl8ko8m2Z7k3iTXJvmVpuOSJElq2rymA5AkSZIGQZLHAF8C1gInANuBpwB3NBmXJElS\nPzDJKEmSJHXmrcCNVXXyqLIfNBWMJElSP/FxaUmSJA21JL+b5MAZ6OrFwNeSXJpkW5KvJzl5n60k\nSZLmAJOMkiRJGnbvA7YmuTDJs7vo5zDgD4DvAC8A/ha4IMnvzkCMkiRJA83HpSVJkjTsHg+8FHgd\n8KUk3wFWAaur6tYp9LMfcFVV/UX7/Noki4BTgY/ureH6VevZsGbDmLJFSxcxsmxkCm8vSZLUOxvX\nbmTTuk1jynbcvaPj9iYZJUmSNNSqaifwj8A/JjkEeC3w+8A7k3wG+DDw2aqqfXS1BbhuXNl1wMv3\nFcOS5UtYuHjhlGOXJEmaLSPLRh7yBeiWzVtYecrKjtr7uLQkSZLmjKraAlwBfB4o4CjgY8B3kxy7\nj+ZfAo4YV3YEbv4iSZJkklGSJEnDL8n8JH+Y5FpaycLHAb8JPAl4ArAGWL2Pbt4HHJ3kzCSHJ/kd\n4GTggz0MXZIkaSCYZJQkSdJQS/JJ4BZ+tnbiE6vqFVX1uWq5C3gPrYTjpKrqa8DLgFcDG4E/A95c\nVR/v6QVIkiQNANdklCRJ0rD7CfD8qvqPvdS5FXjKvjqqqs8Cn52pwCRJkoaFSUZJkiQNtar6vQ7q\nFPC9WQhHkiRpKDX2uHSS05LckOS+JFcmWbyP+o9O8jdJfphkR5Lrk/yv2YpXkiRJgynJ+5K8aYLy\n05Kc10RMkiRJw6aRJGOSE4HzgLOBZwHXApcnmT9J/QNo7QL4C8DLgacCr6e1to4kSdLwqTQdwTB5\nBXDlBOVXAifOciySJElDqanHpc8ALqyq1QBJTgVeBJxEa9Ht8X4feAxwdFU90C67cTYClSRJ0sCb\nD9wxQfmd7dckSZLUpVm/k7F9V+KRwNo9Ze01cK4Ajpmk2YuBrwArkmxNsjHJmUncHVuSJEn78j3g\nhAnKTwBumOVYJEmShlITdzLOB/YHto0r3wYcMUmbw4ClwMXArwMLgb+lFf/bexOmJEmShsT7gfcn\n+e/AunbZMuAtwJ80FpUkSdIQGZTdpfejlYR8Q/uux28kOZTWpNAkoyRJkiZVVX+X5EDgLOCv2sU3\nA6dX1d83F5kkSdLwaCLJuB14AFgwrnwBsHWSNluAne0E4x7XAQcnmVdVuyd7s/Wr1rNhzYYxZYuW\nLmJk2ciUA5ckSeqVjWs3smndpp+e775/HnBZcwENmar6APCBJIcA91XVj5uOSZIkaZjMepKxqnYl\nuZrWIyqXASRJ+/yCSZp9CXj1uLIjgC17SzACLFm+hIWLF3YXtCRJUo+NLBsZ8yXoXdsfyfmveB6t\npaw1U6pqS9MxSJIkDaOmNk45H3h9ktcm+SXgQ8DDgYsAkqxO8s5R9f8W+G9JLkjylCQvAs4EPjjL\ncUuSJGnAJHlsklVJbkyyI8nO0UfT8UmSJA2DRtZkrKpLk8wHzqH1mPQ1wAlVdWu7yqHA7lH1b05y\nAvA+4Frglvbv75nVwCVJkjSILgIOB95Laxme2mvtSSQ5Gzh7XPH1VfX0rqKTJEkaAo1t/FJVK4AV\nk7y2dIKyrwLP7XVckiRJGjrHAcdV1TdmoK9NtJb5Sft8r0v3SJIkzRWDsru0JEmSNF03M827Fyew\ne9TTN5IkSWprak1GSZIkabacAbwryaEz0NdTktyS5HtJLk7yxBnoU5IkaeB5J6MkSZKG3UeBRwI/\nSPITYNfoF6vqcR32cyXwOuA7wCHA24AvJFlUVffMWLSSJEkDyCSjJEmSht1bZ6KTqrp81OmmJFcB\nPwBeCazaW9v1q9azYc2GMWWLli5iZNnITIQmSZL6yI4dO8b8HBQb125k07pNY8p23N35NZhklCRJ\n0lCrqg/3qN87k2wGFu6r7pLlS1i4eJ/VJEnSEBjUJOPIspGHfAG6ZfMWVp6ysqP2rskoSZKkoZfk\nyUneluSjSR7XLntBkqd10edBwOHAlpmKU5IkaVCZZJQkSdJQS3Is8C3geFqPNh/UfulI4Jwp9PPe\nJMcleVKS5wKfBHYDH5vhkCVJkgaOSUZJkiQNu3OBt1XV84Cdo8rXAkdPoZ9DgUuA64GPA7cCR1fV\nbTMVqCRJ0qByTUZJkiQNu18GXjNB+Y+Ax3baSVW9esYikiRJGjLeyShJkqRhdydw8ATlzwBumeVY\nJEmShpJJRkmSJA27TwDvTvJYoACSPAc4D7i4ycAkSZKGhUlGSZIkDbszge8DP6S16cu3gS8DG4C3\nNxiXJEnS0HBNRkmSJA21qrofWJ7kHGCEVqLx61V1fbORSZIkDQ+TjJIkSZoTquoG4Iam45AkSRpG\nJhklSZI01JKs3NvrVfWG2YpFkiRpWJlklCRJ0rA7ZNz5AcD/AB4JfGH2w5EkSRo+JhklSZI01Krq\nxePLkswDPkRrExhJkiR1yd2lJUmSNOdU1W7gvcD/aToWSZKkYWCSUZIkSXPVL9J6dHpakrw1yYNJ\nzp/BmCRJkgaSj0tLkiRpqCV5z/giWus0vgS4eJp9LgbeAFzbXXSSJEnDwSSjJEmSht0x484fBG4F\n3gr83VQ7S3IQreTkycBfdB2dJEnSEDDJKEmSpKFWVcfOcJd/A3y6qtYlMckoSZKESUZJkiSpY0le\nBTwTOKrpWCRJkvqJSUZJkiQNtSQbgOqkblU9ey/9HAq8H3h+Ve2aofAkSZKGgklGSZIkDbvPA6cA\nm4GvtMuOBo4ALgTu77CfI4HHAl9PknbZ/sBxSd4EPKyqJkxmrl+1ng1rNowpW7R0ESPLRqZyHZIk\nST2zce1GNq3bNKZsx907Om5vklGSJEnD7jHA31TVWaMLk7wDWFBVJ3fYzxXA+KzgRcB1wLsnSzAC\nLFm+hIWLF3YesSRJ0iwbWTbykC9At2zewspTVnbU3iSjJEmSht0rgcUTlF8EfI3WLtH7VFX3AN8e\nXZbkHuC2qrquyxglSZIG2n5NvnmS05LckOS+JFcmmWjyN1G7VyV5MMk/9zpGSZIkDbz7aT0ePd7R\ndP6o9GQ6WutRkiRp2DV2J2OSE4HzgDcAVwFnAJcneWpVbd9LuycD7wW+MAthSpIkafBdAFyY5Fm0\n5p0AzwFeD7yrm46rammXsUmSJA2FJu9kPAO4sKpWV9X1wKnAvcBJkzVIsh9wMfCXwA2zEqUkSZIG\nWlW9g9Yj0f8TWNk+ngu8of2aJEmSutTInYxJDqC1O98795RVVSW5AjhmL03PBrZV1aokx/U4TEmS\nJA2JqroEuKTpOCRJkoZVU49Lzwf2B7aNK98GHDFRgyS/CiwHntHb0CRJkjRskjwKeDlwGPC+qroj\nyTOAH1XVlmajkyRJGnwDsbt0koOA1cDrq+qOqbRdv2o9G9ZsGFO2aOmih2zJLUmS1KSNazeyad2m\nn57vvn8ecFlzAQ2RJIuAK2gtzfNEWrtK3wGcCDwB+L3GgpMkSRoSTSUZtwMPAAvGlS8Atk5Q/3Dg\nScCnk6Rdth9Akp3AEVU14RqNS5YvYeHihTMStCRJUq+MLBsZ8yXoXdsfyfmveB6tFWbUpffRelT6\nj4GfjCr/DK31viVJktSlRjZ+qapdwNXAsj1l7eThMuDLEzS5DhgBnknrceln0Ppqf13795t6HLIk\nSZIG12JgRVXVuPJbgEMaiEeSJGnoNPm49PnARUmuBq6itdv0w2k9vkKS1cDNVXVWVe0Evj26cZIf\n09ov5rpZjVqSJEmDZhdw0ATlC2k9YSNJkqQuNZZkrKpLk8wHzqH1mPQ1wAlVdWu7yqHA7qbikyRJ\natJD7rlTNz4N/EWSE9vnleQJwLuBf24uLEmSpOHR6MYvVbUCWDHJa0v30XZ5T4KSJEnSsPljWsnE\nrcDP01py5/HABuCsBuOSJEkaGgOxu7QkSdLck31XUUeq6g7geUmOp7We90HA14HLJ1inUZIkSdNg\nklGSJElDK8kBwP8D3lRV/w78exd9nQr8AfDkdtG3gHOq6nPdxilJkjToGtldWpIkSZoNVbULOBKY\niTsWbwL+FPiVdp/rgE8ledoM9C1JkjTQTDJKkiRp2P0D0PV63lX1mar6XFV9r6r+s6r+HLgbOLrr\nCCVJkgacj0tLkiRp2BXwpiTPB74G3DPmxaq3TLXDJPsBrwQeDnxlJoKUJEkaZCYZJUmSNOyOBL7Z\n/v2Xx702pceokyyilVQ8ELgLeFlVXd91hJIkSQPOJKMkSZKGUpLDgBuq6tgZ7PZ6WjtUPxr4bWB1\nkuNMNEqSpLnOJKMkSZKG1XeBQ4AfAST5BHB6VW2bbodVtRv4fvv0G0meDbyZ1q7Tk1q/aj0b1mwY\nU7Zo6SJGlo1MNxRJktSn7t95/5ifg2Lj2o1sWrdpTNmOu3d03N4koyRJkoZVxp2/EDhzht9jP+Bh\n+6q0ZPkSFi5eOMNvLUmS+tHO+3eO+TkoRpaNPOQL0C2bt7DylJUdtTfJKEmSJHUgyTuBfwFuBB4J\nvAY4HnhBk3FJkiT1A5OMkiRJGlbFQzd2mdJGL+M8DvgIrUew76S1mcwLqmpdF31KkiQNBZOMkiRJ\nGlYBLkqyZ0GkA4EPJblndKWqenknnVXVyTMcnyRJ0tAwyShJkqRh9ZFx5xc3EoUkSdIcYJJRkiRJ\nQ6mqljcdgyRJ0lyxX9MBSJIkSZIkSRpsJhklSZIkSZIkdcUkoyRJkiRJkqSumGSUJEmSJEmS1BWT\njJIkSZIkSZK6YpJRkiRJkiRJUldMMkqSJEmSJEnqiklGSZIkSZIkSV0xyShJkiR1IMmZSa5K8pMk\n25J8MslTm45LkiSpH5hklCRJ6kNVTUegCRwLfAB4DvB84ADgX5P8fKNRSZIk9YF5TQcgSZIkDYKq\neuHo8ySvA34EHAl8sYmYJEmS+oV3MkqSJEnT8xiggNubDkSSJKlpjSYZk5yW5IYk9yW5MsnivdQ9\nOckXktzePv5tb/UlSZKkXkkS4P3AF6vq203HI0mS1LTGkoxJTgTOA84GngVcC1yeZP4kTY4HLgGW\nAEcDN9FaA+eQ3kcrSZIkjbECeDrwqqYDkSRJ6gdNrsl4BnBhVa0GSHIq8CLgJOA94ytX1e+OPk9y\nMvBbwDLg4p5HK0mSJAFJPgi8EDi2qrZ00mb9qvVsWLNhTNmipYsYWTbSgwglSVKTbrv9tjE/B8XG\ntRvZtG7TmLIdd+/ouH0jScYkB9BaIPude8qqqpJcARzTYTePoLWjn2vgSJIkaVa0E4wvBY6vqhs7\nbbdk+RIWLl7Yu8AkSVLfuOuuu8b8HBQjy0Ye8gXols1bWHnKyo7aN3Un43xgf2DbuPJtwBEd9nEu\ncAtwxQzGJUmSJE0oyQrg1cBLgHuSLGi/dGdVdf41vyRJ0hBq8nHpaUvyVuCVtL5B3tl0PJIkSZoT\nTqW1m/T6ceXLgdWzHo0kSVIfaSrJuB14AFgwrnwBsHVvDZP8CfAWYFlVfWtfb+T6N5IkaRCMXwNn\n9/3zgE81F5Aeoqoa2zRRkiSp3zWSZKyqXUmuprVpy2UASdI+v2CydkneApwJvKCqvtHJe7n+jSRJ\nGgTj18C5c9ujef+rjqe1jLUkSZLU35p8XPp84KJ2svEqWrtNPxy4CCDJauDmqjqrff6nwF/RWgfn\nxlFr4NxdVffMcuySJEmSJEmS2hpLMlbVpUnmA+fQekz6GuCEqrq1XeVQYPeoJqfS2k36n8Z19Vft\nPiRJkiRJkiQ1oNGNX6pqBbBikteWjjv/xVkJSpIkqQ9UNR2BJEmS1DkXr5YkSZIkSZLUFZOMkiRJ\nkiRJkrpiklGSJEmSJElSV0wySpIkSZIkSeqKSUZJkiRJkiRJXTHJKEmSJEmSJKkrJhklSZKkDiU5\nNsllSW5J8mCSlzQdkyRJUj8wyShJkiR17hHANcAbgWo4FkmSpL4xr+kAJEmSpEFRVZ8DPgeQJA2H\nI0mS1De8k1GSJEmSJElSV0wySpIkSZIkSTNlji6oYpJRkiRJkiRJmgF33nkn22/b3nQYjXBNRkmS\npL7kcn/DZP2q9WxYs2FM2aKlixhZNtJQRJIkqRduv/32n97JeP+O+5sNZoo2rt3IpnWbxpTtuHtH\nx+1NMkqSJEk9tmT5EhYuXth0GJIkaRbt3LWz6RCmZGTZyEO+AN2yeQsrT1nZUXuTjJIkSVKHkjwC\nWMjPbjU9LMkzgNur6qbmIpMkSWqWSUZJkiSpc0cBn6f1IFQB57XLPwKc1FRQkiRJTTPJKEmSJHWo\nqv4dN0+UJEl6CCdIkiRJkiRJkrpiklGSJEmSJElSV0wySpIkSZIkSeqKSUZJkiRJkiRJXTHJKEmS\nJEmSJKkrJhklSZL6UFXTEUiSJEmdM8koSZLUjypNRyBJkiR1zCSjJEmSJEmSpK6YZJQkSepDPi4t\nSZKkQWKSUX1t49qNTYegLjmGg83xG3yOoSRNzM/H/uS49C/Hpj85Ln1sW9MBzL5Gk4xJTktyQ5L7\nklyZZPE+6r8iyXXt+tcm+fXZilXN2LRuU9MhqEuO4WBz/AafYzi4yjUZ+9ZU57DqT34+9ifHpX85\nNv3JceljP2o6gNnXWJIxyYnAecDZwLOAa4HLk8yfpP5zgUuAvwOeCXwKWJPk6bMTsSRJ0uzZvXNe\n0yFoAlOdw0qSJM0VTd7JeAZwYVWtrqrrgVOBe4GTJql/OvAvVXV+VX2nqv4S+DrwptkJV5IkafaY\nZOxbU53DSpIkzQmNJBmTHAAcCazdU1ZVBVwBHDNJs2Par492+V7qS5IkDSyTjP1nmnNYSZKkOaGp\n2et8YH8eugzmNuCISdocPEn9gyepfyDAls1bphmi+sE9d9zDf274z6bDUBccw8Hm+A0+x3Bwbdm8\nC3jYntMDGwxFPzOdOaxz0j7l52N/clz6l2PTnxyX/rN161a4DdgJD9z6wMCPz+03377n133OR9P6\n8nV2JTkEuAU4pqq+Oqr8XOC4qnrIN8FJ7gdeW1WfGFX2B8BfVtUhE9T/HeAfehG/JEnSLHtNVV3S\ndBBz3TTnsM5JJUnSMNjnfLSpOxm3Aw8AC8aVLwC2TtJm6xTrXw68BvgvYMe0opQkSWrWgcCTac1r\n1LzpzGGdk0qSpEHW8Xy0kTsZAZJcCXy1qt7cPg9wI3BBVb13gvofB36+ql46quxLwLVV9cZZCluS\nJElz2FTnsJIkSXNFkyuKnw9clORq4CpaO/U9HLgIIMlq4OaqOqtd/6+B9Un+CPgM8GpaC2+/fpbj\nliRJ0ty11zmsJEnSXNVYkrGqLk0yHziH1iMm1wAnVNWt7SqHArtH1f9Ke02bd7SP7wIvrapvz27k\nkiRJmqs6mMNKkiTNSY09Li1JkiRJkiRpOOzXdACSJEmSJEmSBptJRkmSJEmSJEldGagkY5LTktyQ\n5L4kVyZZvI/6r0hyXbv+tUl+fYI65yT5YZJ7k/xbkoW9u4K5bSbHL8m8JOcm+WaSu5PckuQjSQ7p\n/ZXMXb34GxxV90NJHkxy+sxHrj169Dn6tCSfSvLj9t/jV5Mc2rurmLtmevySPCLJB5Pc1P538FtJ\nTuntVcxtUxnDJE9P8k/t+pN+Pk71vwt1x/lo/3Ku2Z+cP/Yn54T9y/lef3IO16GqGogDOBHYAbwW\n+CXgQuB2YP4k9Z8L7AL+CDiC1uLc9wNPH1XnT9t9/AawCFgDfA/4uaavd9iOmR4/4FHA5cBvAU8B\nng1cCVzV9LUO69GLv8FRdV8GfAO4CTi96Wsd1qNHn6OHA9uBdwG/DPxi+zN1wj49+m78VgKbgWOB\nXwBe327zG01f7zAe0xjDo4BzgVcCt0z0+TjVPj1mfQydjw7o2OBcsy/HZVxd5499NC44J+znsXG+\nN/vjMmfncI0HMIVBvRL461HnAW4G3jJJ/Y8Dl40r+wqwYtT5D4EzRp0/CrgPeGXT1ztsRy/Gb4I2\nRwEPAIc2fb3DePRqDIEnADcCTwNucJI4WGMIfAz4SNPXNheOHo3fRuDPxtX5GnBO09c7jMdUx3Bc\n2wk/H7vp06P3Y+h8dLDHZoI2zjX7ZFycP/bfuDgn7Ouxcb43y+Myru2cmsMNxOPSSQ4AjgTW7imr\n1ihcARwzSbNj2q+Pdvme+kkOAw4e1+dPgK/upU9NQy/GbxKPAQr48bSD1YR6NYZJAqwG3lNV181k\nzBqrR5+jAV4EfDfJ55Jsa9/m/9KZjn+u6+Hn6JeBlyR5fPt9nkfrjp3LZyZy7THNMZz1PjU556P9\ny7lmf3L+2J+cE/Yv53v9yTnc1AxEkhGYD+wPbBtXvo3WxGwiB++j/gJak4Sp9Knp6cX4jZHkYcC7\ngUuq6u7ph6pJ9GoM3wrsrKoPzkSQ2qtejOHjgINoPer3WeDXgE8C/5zk2BmIWT/Tq7/B/w1cB9yc\nZCetcTytqr7UdcQabzpj2ESfmpzz0f7lXLM/OX/sT84J+5fzvf7kHG4K5jUdgNStJPOAf6Q1SX9j\nw+GoQ0mOBE4HntV0LJq2PV9UramqC9q/fzPJc4FTgf9oJixNwenAc2itmXQjcBywIskPq2pdo5FJ\nUp9wrtk/nD/2LeeE/c35nmbNoNzJuJ3W+icLxpUvALZO0mbrPupvpfXM+1T61PT0YvyAMZO+JwIv\n8JvlnunFGP4q8FjgpiS7kuwCngScn+T7MxK1RuvFGG4HdtP6ZnS062gtKq2ZM+Pjl+RA4B201oL7\nbFVtqqoVwCeAP5mpwPVT0xnDJvrU5JyP9i/nmv3J+WN/ck7Yv5zv9SfncFMwEEnGqtoFXA0s21PW\nXvdhGa31BSbyldH1236tXU5V3UBr8Eb3+ShaGf7J+tQ09GL82n3smfQdBiyrqjtmMGyN0qMxXE1r\n57lnjDp+CLwHOGGmYldLjz5HdwEbaO1kN9pTgR90H7X26NHf4AHto8bVeYABmR8MkmmO4az3qck5\nH+1fzjX7k/PH/uScsH853+tPzuGmqOmdZzo9aG39fS9jt/e+DXhs+/XVwDtH1T+G1tbte7Zyfxut\n7cFHb+X+lnYfLwZGgDXAd4Gfa/p6h+2Y6fGj9aj/p2j9ozVCK+O/5zig6esdxqMXf4MTvIe7Aw7Y\nGAK/2S47GTgceBOwEzim6esdtqNH4/d54JvA8cCTgde13+MNTV/vMB7TGMMDaP0P9DOBW4Bz2+eH\nd9qnR+Nj6Hx0QMcG55p9OS6TvIfzxz4YF5wT9vPYON+b/XGZs3O4xgOY4sC+Efgv4D5amfmjRr22\nDvj7cfV/C7i+Xf+bwAkT9Pk2Wt9+3Utrd6WFTV/nsB4zOX60Hot4YNzxYPvncU1f67AevfgbHFf/\n+zhJHLgxbE9UNgP3AF8HfqPp6xzWY6bHj9ZC7R8GbmqP37eBNzd9ncN8TGUM2//W7fm3bfSxrtM+\nPZodw3aZ89EBHBuca/bluEzSv/PHPhkXnBP25djgfG/Wx4U5PIdL+8IkSZIkSZIkaVp8Bl+SJEmS\nJElSV0wySpIkSZIkSeqKSUZJkiRJkiRJXTHJKEmSJEmSJKkrJhklSZIkSZIkdcUkoyRJkiRJkqSu\nmGSUJEmSJEmS1BWTjJIkSZIkSZK6YpJRkiRJkiRJUldMMkqSJEmSJEnqiklGSZIkSZIkSV35/3KR\nafcKgHEUAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0b118ef590>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot activation internvals for a specified task\n",
"activations_df = trace.analysis.latency.plotActivations('ramp', threshold_ms=120)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>50%</th>\n",
" <th>95%</th>\n",
" <th>99%</th>\n",
" <th>max</th>\n",
" <th>100.0%</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>activation_interval</th>\n",
" <td>37.0</td>\n",
" <td>0.100002</td>\n",
" <td>0.000012</td>\n",
" <td>0.099966</td>\n",
" <td>0.1</td>\n",
" <td>0.100028</td>\n",
" <td>0.100039</td>\n",
" <td>0.10004</td>\n",
" <td>0.12</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 50% 95% \\\n",
"activation_interval 37.0 0.100002 0.000012 0.099966 0.1 0.100028 \n",
"\n",
" 99% max 100.0% \n",
"activation_interval 0.100039 0.10004 0.12 "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Plot statistics on task activation intervals\n",
"activations_df.T"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"# Runtimes Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Runtimes DataFrames"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" DataFrame of task's runtime each time the task blocks\n",
"\n",
" The returned DataFrame has these columns:\n",
" - Time: the time the task completed an activation (i.e. sleep or exit)\n",
" - running_time: the time the task spent RUNNING since its last wakeup\n",
"\n",
" :param task: the task to report runtimes for\n",
" :type task: int or str\n",
" \n"
]
}
],
"source": [
"print trace.data_frame.runtimes_df.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>running_time</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Time</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2.506287</th>\n",
" <td>0.790959</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.579155</th>\n",
" <td>0.059508</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.678930</th>\n",
" <td>0.059534</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.778927</th>\n",
" <td>0.054048</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.898286</th>\n",
" <td>0.054230</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" running_time\n",
"Time \n",
"2.506287 0.790959\n",
"2.579155 0.059508\n",
"2.678930 0.059534\n",
"2.778927 0.054048\n",
"2.898286 0.054230"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Report the sequence of running times:\n",
"# Time: task block time (i.e. sleep or exit)\n",
"# running_time: cumulative ruinning times since last wakeup event\n",
"trace.data_frame.runtimes_df('ramp').head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"frozen": false,
"read_only": false
}
},
"source": [
"## Runtimes Plots"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Plots \"running times\" for the specified task\n",
"\n",
" A \"running time\" is the sum of all the time intervals a task executed\n",
" in between a wakeup and the next sleep (or exit).\n",
" A set of plots is generated to report:\n",
" - Running times at block time: every time a task blocks a\n",
" point is plotted to represent the cumulative time the task has be\n",
" running since its last wakeup\n",
" - Running time cumulative function: reports the cumulative\n",
" function of the running times.\n",
" - Running times histogram: reports a 64 bins histogram of\n",
" the running times.\n",
"\n",
" All plots are parameterized based on the value of threshold_ms, which\n",
" can be used to filter running times bigger than 2 times this value.\n",
" Such a threshold is useful to filter out from the plots outliers thus\n",
" focusing the analysis in the most critical periodicity under analysis.\n",
" The number and percentage of discarded samples is reported in output.\n",
" A default threshold of 16 [ms] is used, which is useful for example to\n",
" analyze a 60Hz rendering pipelines.\n",
"\n",
" A PNG of the generated plots is generated and saved in the same folder\n",
" where the trace is.\n",
"\n",
" :param task: the task to report latencies for\n",
" :type task: int or list(str)\n",
"\n",
" :param tag: a string to add to the plot title\n",
" :type tag: str\n",
"\n",
" :param threshold_ms: the minimum acceptable [ms] value to report\n",
" graphically in the generated plots\n",
" :type threshold_ms: int or float\n",
"\n",
" :returns: a DataFrame with statistics on ploted running times\n",
" \n"
]
}
],
"source": [
"print trace.analysis.latency.plotRuntimes.__doc__"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-02-17 19:52:04,119 INFO : Analysis : Found: 39 activations for [5144: ramp, rt-app]\n",
"2017-02-17 19:52:04,121 WARNING : Analysis : Discarding 1 running times (above 2 x threshold_ms, 2.6% of the overall activations)\n",
"2017-02-17 19:52:04,123 INFO : Analysis : 100.0 % samples below 120 [ms] threshold\n",
"2017-02-17 19:52:04,172 WARNING : Analysis : Event [sched_overutilized] not found, plot DISABLED!\n"
]
},
{
"data": {
"image/png": "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\n+quq21Z/T7lkeK0em+QGWeOPSlV12yT/nP4j4Xe21h7bWjuptXb68GPik5N8Z/rIg7fNev6ntdYu\nba19eQ3lvthaO3fGTW8Y/j1sYttDkhyY5E+nyv5pktsluedq9zdL7f4Z92vDOXNp9c+w2w5lnjm8\nZ102PNY3nzrGDwzlLxzKfKqqZvWgBGDCgVtdAQA25LvS5+i5/vBl6pVJnrcnvZWq6u7pvYDuldV7\njLw0fYjiaVX1yJEyD03vlfCLSU5a5Xgtfaj1a5O8IsmfJ/nYcNtRST6c3tPxiiQ/neSEqqrW2p9O\nHePO6eHnK9J7OP1WklOq6glJnp/kT9K/pD0jvYfUXab2v16S05K8b9j3J5I8t6oOaK09Z5U2jLUr\nSV6X5ONJfme4/39PHyp2//Sh6Gv54vhNSR6bZDH98blZem+T06rq7q216cV2fiE9qHl5khsm+fUk\n76iqI1trF07Ub0/bfNv00PnEoX4rael/e5ye3gvlN5NcNnHb2D6zPD3JlUlenOTgJE9LDyMnv5S2\nJLdM8o9J/iHJ3yb5mSQvrKoPtdZOX6Wu1xvq+v6hrvdPD83/I/0cS1VVkjcn+YH0YXwfSw9b/nqF\nui95T/pwwCcn+f0kHx22L31BH9v/d9IftxekBwVPTvKN9Lnybp4+ZPQe6efAp4ZjZ6jv7yZ53vBY\nvDLJN6dPW/Ceqrpra+0r1UPHtyU5aKjf+enP84OG4391hTbdM8kXW2v/OeO2lyX5epIfbq1dNtTn\neklu0Fq7vKoOTHKj1toxVfX19PeNI1a4r6ublR5UnZd+XtxjaNPN099/Zu/Ue1y/L/318bL0oOwX\n0t8zHt5ae9NEHd+S5P+kv/5emv76+7GhftcYqj3s86okj0jykNbaaSPVuDD9Pe7P0s/Rfxi2L72e\nx+blu3eSHenvaUl/T3tzVb0oyROG7bdIf138Vfq5u1S3+6b39vxAkueknze/lOSdVfXDrbUPTN3X\nriQ/NFL/lax2fif9Pft16cNfT0x/D3lVVX1gRlB1QnrY+twkNxna8i1Jzkh/Lzg+yUXpPfH+sqpu\n1lo7fij3uPTn+OT05++GSb43yQ+mvxaWLJ1Ln0o/l7Yl+ZUkF6S/7pb8Zfrn5cnp8/P94HD7dyd5\n+NgDMgSR70wP0F6W5PNJ/m+S+2btPTVPSg8HH9Rau3I47oFJDmit/e8QYrbW2s9X1WvTz61rhOKb\n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\nlPm29L8Drkr/QeJnh3mGl3xo6TXXWvuvqnppelh9/fTpOR6a5IeSPGrGgjh702Qlf2EIWt+QHqbf\nLD3AvTizf2ADYCBABLh2+Uz6CsQPSQ/QrkoPbx7fWpteBTZJnprk24b/t/Q/3h86XH91dl+AZNp6\n/rgfK7vWY7RZZVtrHx96avx+evB1fpIT0udZ+8u1HGOd269Inx/rz9LDjK8meU5r7femyt0kvdfQ\nl8ebtKp/SJ9X7ufSw45KMhogttZOrKpD00PDH0//ovzzSX42s1dOPSn9/PiN9IUEzkjy5InVO5es\ntc0rGXuMx8pec2Nrb6uqY9IX7jgu/cvmT6UHWtP7rOd8W2vZDe3bWruqqn4yvSfvY7L8xfq56WHF\n9OIqux+oL7zw+CS/kx6aHZAe5CyFMnvS9ln394dV9bH0OUWXhiL/Z3rwtvQDwVnD9QelB0uXDdt+\nou2+yvms43+hqt6afl7+xcT2M6vqzPTX78OHHmAPHealu0V60HT94X4/MmNRmpVcleSR6eHjC9LP\n6ePTp1vYrXrZ/bn7QlXdM32BjSelB+0fSvKg1tppE+WuqqoHpk/p8Kj0cPGL6UHiZEA5ffy/qb5I\n1Z9U1cWttZVWuf/l9JWjj01/HJ6b/uPA0nFH27HG7ctX+iIS90zyzPQQ7abp761n5JorED8iyWdm\n9AS9Sfrjfn5WsIHze2adx8oNz+Hd08/lhyZ5Qvpz85Hs/vz/Wfr75dHp7f1ckpcmef5K9V/BL6eH\nT7+Y/nl8/nCsWWHd5DlxeVXdN/25flL6a+s16ef9aTP2nfb69M/DFyQ5ZljU6Ier6nvTe8/tSp8n\n8e/SQ+hZ88eOuXr15uHfX5r4/9LjdKf0wC2ZvSr5czPxmmitPa2q/if9c+sX0ld7//lVfixbizWd\n6yPb35M+R+QjkxyaHhyekR5qrjT8HGC/V/v2xx8A1mLoFfJ/0ntRXDG1IiZ7wfCYP7y1tuqQ66En\ny4mttafv/Zqtz9B79LwkT22tHbtK2fW0+VbpYfTOtRx7f1dVD0n/sv/DrbX3bXV99qWq+uH0qQ2+\ne3LoZPXVYf8t/XF5QmvtGzP2vWGSH5vVq499a+g19ukkf9Bae/nUbWekD/P+ua2o2/6squ6V/vp6\nYfqPPdf4Mjf0jPyB1tr/t6/rt1mq6l3pnV0ekuTrrbWVfvDcG/fvMw9gyobmQKyqJ1bVeVV1eVW9\n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\ncMABB/Dee++VNa7iW2+9xQorrICkpn2n1883BmK3bt048cQTue2229h4443p06cP22+/PS+//DIA\nV5cMYrMAACAASURBVFxxBeuttx69e/dm1113ZerUqS32+/TTT/OFL3yBQYMG0bdvX3bZZReeeOKJ\nkvJsZmZmVgvuwmxmZma2jMuNM/jlL3+Z9ddfn3POOYcQAjfffHPB9PnGJvzTn/7EvHnzGDduHJI4\n77zzOPjgg5k8eTLdu3dvWrexsZG99tqLbbfdlgsvvJD777+fiy66iHXXXZdjjz22aD6/8pWvsPba\na3PuuecyceJErrrqKlZccUXOOeecprRHHHEEt912G4cffjjbbLMNDz/8MPvuu29ZYyoOHz6cyy+/\nnHHjxnHQQQdx0EEHAbDpppu2eh4eeeQR7rzzTk444QQAfvnLX/LFL36RH/3oR/z+97/nhBNOYNas\nWZx33nkcffTR3H///U3rPvDAA+yzzz5sueWWTQHKa665ht12243HHnuMLbfcsuT8m5mZmVWLA4hm\nZmZmXcQWW2zBDTfc0PR3oQBiIW+//Tb/+9//GDBgAADrr78+BxxwAOPHj2efffZpSrdo0SLGjh3L\naaedBsAxxxzD6NGjufrqq1sNIOaMHj2aP/zhD01/z5gxg6uvvropgPjcc89x6623cvLJJ3PBBRcA\nMG7cOI4++mhefPHFko+nT58+HHzwwYwbN45NN92UQw45pKT1XnvtNf773/+y+uqrAzBo0CCOPfZY\nzj77bF5//XX69OkDwOLFizn33HOZOnUqI0aMAOC4445j99135+67727a3rHHHstGG23ET37yE+67\n776S829mZmZWLQ4gmpmZmZWg4aWGZl2L73rtLsY0jGn6e+zIsYzdZGzdbTtHUknBu9Z87Wtfawoe\nAuy4446EEJg8eXKLtNl97bjjjtx4441tyueOO+7I3/72N+bNm0e/fv247777kMRxxx3XLN13vvMd\nrr322jKOqG322GOPpuAhwDbbbAPAl770pabgYXr55MmTGTFiBM8//zyvv/46p59+OjNnzmxKF0Jg\n9913L+n8mJmZmdWCA4hmZmZmJRi7SfMg3piGMdw59s6633ZaelzDtkgHzSC2vAOYNWtWs+W9evVi\n6NChzZYNHjy4RbpCcq310uvm9tOvX7+mMRmzx7PuuuuWtP32yp6HgQMHArDaaqu1WB5CaDru119/\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0b10df61d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot activation internvals for a specified task\n",
"runtimes_df = trace.analysis.latency.plotRuntimes('ramp', threshold_ms=120)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false,
"run_control": {
"frozen": false,
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>50%</th>\n",
" <th>95%</th>\n",
" <th>99%</th>\n",
" <th>max</th>\n",
" <th>100.0%</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>running_time</th>\n",
" <td>38.0</td>\n",
" <td>0.036271</td>\n",
" <td>0.012981</td>\n",
" <td>0.000277</td>\n",
" <td>0.0326</td>\n",
" <td>0.055088</td>\n",
" <td>0.059524</td>\n",
" <td>0.059534</td>\n",
" <td>0.12</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 50% 95% 99% \\\n",
"running_time 38.0 0.036271 0.012981 0.000277 0.0326 0.055088 0.059524 \n",
"\n",
" max 100.0% \n",
"running_time 0.059534 0.12 "
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Plot statistics on task running times\n",
"runtimes_df.T"
]
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/ec38b4edb2da1ef21e2aa9b1d6c64f65"
},
"gist": {
"data": {
"description": "TraceAnalysis_TasksLatencies.ipynb",
"public": false
},
"id": "ec38b4edb2da1ef21e2aa9b1d6c64f65"
},
"hide_input": false,
"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.12"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "296px",
"width": "252px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": false,
"toc_number_sections": true,
"toc_section_display": "block",
"toc_threshold": 6,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 0
}