blob: f1aa6b0f9f0dba345d207082093f5bf1122b51b8 [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Idle States Residency Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook shows the features provided by the idle state analysis module. It will be necessary to collect the following events:\n",
"\n",
" - `cpu_idle`, to filter out intervals of time in which the CPU is idle\n",
" - `sched_switch`, to recognise tasks on kernelshark"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
}
},
"outputs": [],
"source": [
"import logging\n",
"from conf import LisaLogging\n",
"LisaLogging.setup()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
}
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import os\n",
"\n",
"# Support to access the remote target\n",
"from env import TestEnv\n",
"\n",
"# Support to configure and run RTApp based workloads\n",
"from wlgen import RTA, Ramp\n",
"\n",
"# Support for trace events analysis\n",
"from trace import Trace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Target Configuration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our target is a Juno R2 development board running Linux."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
}
},
"outputs": [],
"source": [
"# Setup a target configuration\n",
"my_conf = {\n",
" \n",
" # Target platform and board\n",
" \"platform\" : 'linux',\n",
" \"board\" : 'juno',\n",
" \n",
" # Target board IP/MAC address\n",
" \"host\" : '192.168.0.1',\n",
" \n",
" # Login credentials\n",
" \"username\" : 'root',\n",
" \"password\" : '',\n",
" \n",
" \"results_dir\" : \"IdleAnalysis\",\n",
" \n",
" # RTApp calibration values (comment to let LISA do a calibration run)\n",
" \"rtapp-calib\" : {\n",
" \"0\": 318, \"1\": 125, \"2\": 124, \"3\": 318, \"4\": 318, \"5\": 319\n",
" },\n",
" \n",
" # Tools required by the experiments\n",
" \"tools\" : ['rt-app', 'trace-cmd'],\n",
" \"modules\" : ['bl', '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",
" \"cpu_idle\",\n",
" \"sched_switch\"\n",
" ],\n",
" \"buffsize\" : 10 * 1024,\n",
" },\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Tests execution"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
},
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2016-09-02 09:25:41,477 INFO : Target - Using base path: /data/lisa\n",
"2016-09-02 09:25:41,478 INFO : Target - Loading custom (inline) target configuration\n",
"2016-09-02 09:25:41,479 INFO : Target - Devlib modules to load: ['bl', 'cpufreq']\n",
"2016-09-02 09:25:41,480 INFO : Target - Connecting linux target:\n",
"2016-09-02 09:25:41,481 INFO : Target - username : root\n",
"2016-09-02 09:25:41,482 INFO : Target - host : 192.168.0.1\n",
"2016-09-02 09:25:41,482 INFO : Target - password : \n",
"2016-09-02 09:25:41,483 INFO : Target - Connection settings:\n",
"2016-09-02 09:25:41,484 INFO : Target - {'username': 'root', 'host': '192.168.0.1', 'password': ''}\n",
"2016-09-02 09:25:45,648 INFO : Target - Initializing target workdir:\n",
"2016-09-02 09:25:45,650 INFO : Target - /root/devlib-target\n",
"2016-09-02 09:25:51,095 INFO : Target - Topology:\n",
"2016-09-02 09:25:51,097 INFO : Target - [[0, 3, 4, 5], [1, 2]]\n",
"2016-09-02 09:25:52,729 INFO : Platform - Loading default EM:\n",
"2016-09-02 09:25:52,730 INFO : Platform - /data/lisa/libs/utils/platforms/juno.json\n",
"2016-09-02 09:25:58,291 INFO : FTrace - Enabled tracepoints:\n",
"2016-09-02 09:25:58,293 INFO : FTrace - cpu_idle\n",
"2016-09-02 09:25:58,294 INFO : FTrace - sched_switch\n",
"2016-09-02 09:25:58,295 WARNING : Target - Using configuration provided RTApp calibration\n",
"2016-09-02 09:25:58,296 INFO : Target - Using RT-App calibration values:\n",
"2016-09-02 09:25:58,298 INFO : Target - {\"0\": 318, \"1\": 125, \"2\": 124, \"3\": 318, \"4\": 318, \"5\": 319}\n",
"2016-09-02 09:25:58,299 INFO : EnergyMeter - HWMON module not enabled\n",
"2016-09-02 09:25:58,300 WARNING : EnergyMeter - Energy sampling disabled by configuration\n",
"2016-09-02 09:25:58,301 INFO : TestEnv - Set results folder to:\n",
"2016-09-02 09:25:58,302 INFO : TestEnv - /data/lisa/results/IdleAnalysis\n",
"2016-09-02 09:25:58,303 INFO : TestEnv - Experiment results available also in:\n",
"2016-09-02 09:25:58,304 INFO : TestEnv - /data/lisa/results_latest\n"
]
}
],
"source": [
"# Initialize a test environment\n",
"te = TestEnv(my_conf, wipe=False, force_new=True)\n",
"target = te.target"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Workload configuration and execution"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"def experiment(te):\n",
"\n",
" # Create 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",
" # Dump platform descriptor\n",
" te.platform_dump(te.res_dir)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
},
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2016-09-02 09:25:58,330 INFO : WlGen - Setup new workload ramp\n",
"2016-09-02 09:25:58,331 INFO : RTApp - Workload duration defined by longest task\n",
"2016-09-02 09:25:58,332 INFO : RTApp - Default policy: SCHED_OTHER\n",
"2016-09-02 09:25:58,333 INFO : RTApp - ------------------------\n",
"2016-09-02 09:25:58,334 INFO : RTApp - task [ramp], sched: using default policy\n",
"2016-09-02 09:25:58,335 INFO : RTApp - | calibration CPU: 1\n",
"2016-09-02 09:25:58,336 INFO : RTApp - | loops count: 1\n",
"2016-09-02 09:25:58,336 INFO : RTApp - + phase_000001: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,337 INFO : RTApp - | period 100000 [us], duty_cycle 60 %\n",
"2016-09-02 09:25:58,338 INFO : RTApp - | run_time 60000 [us], sleep_time 40000 [us]\n",
"2016-09-02 09:25:58,339 INFO : RTApp - + phase_000002: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,339 INFO : RTApp - | period 100000 [us], duty_cycle 55 %\n",
"2016-09-02 09:25:58,340 INFO : RTApp - | run_time 55000 [us], sleep_time 45000 [us]\n",
"2016-09-02 09:25:58,341 INFO : RTApp - + phase_000003: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,342 INFO : RTApp - | period 100000 [us], duty_cycle 50 %\n",
"2016-09-02 09:25:58,343 INFO : RTApp - | run_time 50000 [us], sleep_time 50000 [us]\n",
"2016-09-02 09:25:58,344 INFO : RTApp - + phase_000004: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,345 INFO : RTApp - | period 100000 [us], duty_cycle 45 %\n",
"2016-09-02 09:25:58,346 INFO : RTApp - | run_time 45000 [us], sleep_time 55000 [us]\n",
"2016-09-02 09:25:58,347 INFO : RTApp - + phase_000005: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,347 INFO : RTApp - | period 100000 [us], duty_cycle 40 %\n",
"2016-09-02 09:25:58,348 INFO : RTApp - | run_time 40000 [us], sleep_time 60000 [us]\n",
"2016-09-02 09:25:58,349 INFO : RTApp - + phase_000006: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,350 INFO : RTApp - | period 100000 [us], duty_cycle 35 %\n",
"2016-09-02 09:25:58,351 INFO : RTApp - | run_time 35000 [us], sleep_time 65000 [us]\n",
"2016-09-02 09:25:58,352 INFO : RTApp - + phase_000007: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,352 INFO : RTApp - | period 100000 [us], duty_cycle 30 %\n",
"2016-09-02 09:25:58,353 INFO : RTApp - | run_time 30000 [us], sleep_time 70000 [us]\n",
"2016-09-02 09:25:58,353 INFO : RTApp - + phase_000008: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,354 INFO : RTApp - | period 100000 [us], duty_cycle 25 %\n",
"2016-09-02 09:25:58,355 INFO : RTApp - | run_time 25000 [us], sleep_time 75000 [us]\n",
"2016-09-02 09:25:58,356 INFO : RTApp - + phase_000009: duration 0.500000 [s] (5 loops)\n",
"2016-09-02 09:25:58,356 INFO : RTApp - | period 100000 [us], duty_cycle 20 %\n",
"2016-09-02 09:25:58,357 INFO : RTApp - | run_time 20000 [us], sleep_time 80000 [us]\n",
"2016-09-02 09:26:03,072 INFO : WlGen - Workload execution START:\n",
"2016-09-02 09:26:03,074 INFO : WlGen - /root/devlib-target/bin/rt-app /root/devlib-target/ramp_00.json 2>&1\n"
]
}
],
"source": [
"experiment(te)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Parse trace and analyse data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2016-09-02 09:26:11,282 INFO : Content of the output folder /data/lisa/results/IdleAnalysis\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[01;34m/data/lisa/results/IdleAnalysis\u001b[00m\r\n",
"├── \u001b[01;35mcluster_idle_state_residency.png\u001b[00m\r\n",
"├── \u001b[01;35mcpu_idle_state_residency.png\u001b[00m\r\n",
"├── output.log\r\n",
"├── platform.json\r\n",
"├── ramp_00.json\r\n",
"├── rt-app-ramp-0.log\r\n",
"├── trace.dat\r\n",
"├── trace.raw.txt\r\n",
"└── trace.txt\r\n",
"\r\n",
"0 directories, 9 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": {
"marked": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2016-09-02 09:26:11,404 INFO : Parsing FTrace format...\n",
"2016-09-02 09:26:11,766 INFO : Collected events spans a 6.927 [s] time interval\n",
"2016-09-02 09:26:11,767 INFO : Set plots time range to (0.000000, 6.927481)[s]\n",
"2016-09-02 09:26:11,768 INFO : Registering trace analysis modules:\n",
"2016-09-02 09:26:11,772 INFO : frequency\n",
"2016-09-02 09:26:11,773 INFO : functions\n",
"2016-09-02 09:26:11,774 INFO : tasks\n",
"2016-09-02 09:26:11,776 INFO : latency\n",
"2016-09-02 09:26:11,777 INFO : eas\n",
"2016-09-02 09:26:11,780 INFO : idle\n",
"2016-09-02 09:26:11,780 INFO : status\n",
"2016-09-02 09:26:11,781 INFO : cpus\n"
]
}
],
"source": [
"trace = Trace(te.platform, res_dir, events=my_conf['ftrace']['events'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Per-CPU Idle State Residency"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is possible to get the residency in each idle state of a CPU or a cluster with the following commands:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"run_control": {
"marked": 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>time</th>\n",
" </tr>\n",
" <tr>\n",
" <th>idle_state</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.014078</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5.671125</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time\n",
"idle_state \n",
"0 0.000000\n",
"1 0.014078\n",
"2 5.671125"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Idle state residency for CPU 3\n",
"trace.data_frame.cpu_idle_state_residency(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `IdleAnalysis` module provide methods for plotting residency data."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ia = trace.analysis.idle"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA70AAAFyCAYAAAA5/L3kAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu4ZGV15/HvDxpBBpEg2DiN3NRINFHEKxK1vQWv0TiZ\nGCUqjpmJQSMEk2iMI+14iZdE4ck446AIaBBNULxEg6jYJKJREjheQVFoA0jjBVsgqECz5o+9iyoO\n59bdp8+u2vX9PE89p95du/ZeVb2aZp33XXunqpAkSZIkqY926DoASZIkSZK2F4teSZIkSVJvWfRK\nkiRJknrLoleSJEmS1FsWvZIkSZKk3rLolSRJkiT11rIXvUlOTXLrYts0vpI8JsmtSZ6/xP3XJ7ls\ne8c1zpJsSHJu13FIkiRJur1Fi96RAui4JR6z2sdi25ZFkqcnOSfJFUl+nuT7Sc5P8uYke47s98Ak\nxyfZbxvPt397nAdse/RzHn/wfY8+rk9yYZI/SbJqe5x3Dlvy59Wrmz0n+dwcfwZzPTaP/GJgu+W4\nJEmSpK23UgXUdpHkzcCfAl8B3gFcA/xn4NeAPwA+CFzb7n4IcDzwOeDft+G0B7THuRz46jYcZzHv\nBz4JBNgHeD7wFuBXgaO243mpqvOS3Bm4eXueZ4y9HnjXyHgv4ATgn4CTZu37hfbnL2PRK0mSJI2d\niS16k+wNvBz4EvDrVbV51uu7zn4Ly1OUZBmOsRQXVtX7bztp8n+BS4DnJXlFVV2zPU9eVTdtz+OP\ns6r67Og4yf40Re9lo38ms94zrb8gkCRJksbaVvf0Jtk5yVuTXJXkxiT/kuSJW3iMfZL83yTfS/KL\n9lj/ry1oF3MQTfz/PLvgBaiqG6vqxvY8xwPvaV9aP7I89T3t67sleX37GX7YLpO+NMlftjOeg3hf\nAJxLUzyfOnKc2/VyJvnDJP+a5D/apcnnJlm7Jd/NXJ8H+Jd2eMDs15M8JMlZI/FfkuRVSXactd/9\nkvx9kivb/a5u43vyyD5z9vQm2SPJu9pz3NC+79D5Yt6CmNYnuSzJPZKckeTa9rs7O8l95jjuTkn+\nLMlF7X6bklyQ5CXt68e28T9+jvfeKcmPk3xmvri3Rubo6R1sS/JraZbgX5fkB0nenmTHJLsk+ev2\nz+JnSc5LcvA8Mb8qydfb/X6S5GNJDlnOzyBJkiT10bbM9H4AeAbwUeAc4F7Ah2mW/S4qyT1pirhV\n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\nT4ATaS4M9pYkj6O5uNd1NLPWj6dpA7jD/YglSZIkNZZa9BZ3nPH8HZp73h4JPIGm7/C32vFcS5xv\n9/6qujLJg2ku0PSM9n0/B66gmVX8u0ViuoRmlvGJNPd8XU1z0aerae4X/Laquq2ftKquSPLC9nz/\np933NJqlvW9td3sRcALNrZQ+QLM89pujsVfVz5M8u/3sb6cptM+jue0OVfWiJOfSFIivBO7UHu/C\ndrwUc33fA28Afhd4DbC+Pec5SR7aHv9IYG+aiyJ9l6ZX+avte9fT/FLgqTT3Ld5MM8v7coYXexqN\nYTioujnJE2i+q2fS3O/2yzTf/1/TFGGj+y81pjnPN2v76Pd/c5IntjE/t/0+fk6zDPg9d3hz1blJ\nvkPzC4c7vL4FFvozGd1nKduWfJ6quiXJU2hy/XnAuval79N8//P1xEuSJEmivYeq1GdJvg7sUFVL\n6TeXJEmS1CNb29MrTYR2SfD9aJY5S5IkSZoyzvSql5I8lqZ/+pXArsB9JrCfV5IkSdI26uo+vdL2\n9hrgcJoreD/PgleSJEmaTs70SpIkSZJ6y55eSZIkSVJvWfRKkiRJknrLoleSJEmS1FsWvZIkSZKk\n3rLolSRJkiT1lkWvJEmSJKm3LHolSZIkSb1l0StJkiRJ6i2LXkmSJElSb1n0SpIkSZJ6y6JXkiRJ\nktRbFr2SJEmSpN6y6JUkSZIk9ZZFryRJkiSptyx6JUmSJEm9ZdErSZIkSeoti15JkiRJUm9Z9EqS\nJEmSesuiV5IkSZLUWxa9kiRJkqTesuiVJEmSJPWWRa8kSZIkqbcseiVJkiRJvWXRK0mSJEnqLYte\nSZIkSVJvWfRKkiRJknrLoleSpDGW5LlJLkhyfZKrknwiyeFJjk9yU5Lrklyb5PNJHtG+5/gk75vj\nWLcmOah9/tYk307y0yTfTPK8lf5skiStBIteSZLGVJLjgLcBrwfuDuwHvAN4ervLB6pqd2Bv4Hzg\nQyNvrzkOObrtBuCpVXVX4CjgxEHRLElSn1j0SpI0hpLsDrwWOLqqPlpVP6uqzVX1yap65ei+VbUZ\nOA3YJ8meCx125D2vrapL2+dfBv4ZOGzZP4gkSR2z6JUkaTwdBuwMfGSxHZPsDLwQuKKqrt3SEyW5\nM/BQ4Btb+l5JksadRa8kSePpbsCPqurWBfZ5dpJrge8BDwKeuZXneidwUVWds5XvlyRpbK3qOgBJ\n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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f68ab79c2d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Actual time spent in each idle state\n",
"ia.plotCPUIdleStateResidency([1,2])"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"run_control": {
"marked": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA8YAAAFyCAYAAAA3VcOLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4ZGddL/rvrzMQYwZANK2J6WaKIEoggh6vA6WIAx6V\ncBFEA4SE4wG8HlSc8JhJFMWZw4UjKBA0CA4ESTheBk9SyKTgCQlDCIQhCUTSMoQMtiF0571/rOqw\ns9PDTu+1e1XV+nyep57ea1XVqm/VfrOzv3utd61qrQUAAADGatPQAQAAAGBIijEAAACjphgDAAAw\naooxAAAAo6YYAwAAMGqKMQAAAKPWezGuqnOr6rZ9rWN+VdUjquq2qnryGh8/raqPb3SueVZVV1XV\nRUPnAAAA7rp9FuMVJekX1rjNNrvta10vqupHqurNVfXJqrqlqv61qt5RVc+vqnuueNyJVXVWVR2/\nztfbMtvOg9effrfb3/V5r7zdVFWXVNUvVtXBG/G6u3FXvl9LdTHsqrp4N9+D3d12rvjjwYaNcQAA\nYGMdqJK1Iarq+Ul+KcllSV6UZFuSr0vyzUn+a5K/SvL52cMfkuSsJBcnuWYdL7t1tp1PJHnfOraz\nL3+Z5O+TVJLNSZ6c5HeTfFOSUzfwddNae2tVfUWSL23k68yx30zypyuW75Xkj5P8Y5KXrnrsO2f/\nnhDFGAAAFtLCFuOq+uokz07yz0m+s7W2c9X9h69+SvopLtXDNtbiktbaX97+olX/M8kVSZ5UVb/S\nWtu2kS/eWrt1I7c/z1pr/3vlclVtSVeMP77ye7LqOWP9IwIAACy8/Z5jXFV3q6rfq6prq2p7Vf1T\nVT3qLm5jc1X9z6q6uqq+ONvWS2ald1/uky7/21aX4iRprW1vrW2fvc5ZSV4+u2u64lDYl8/uP6Kq\nfnP2Hj4zOyT7yqr67dme0115n5LkonQF+9wV27nD3NKqekZV/UtV/fvsMOiLqmpyVz6b3b2fJP80\nW9y6+v6qelhVvW5F/iuq6teq6qBVj/vGqvqbqvrU7HGfnuX7oRWP2e0c46q6e1X96ew1bp4976Q9\nZb4LmaZV9fGq+tqqenVVfX722b2xqu6/m+0eUlW/XFXvnT3uC1X1nqr6mdn9PzfL/8jdPPfQqvpc\nVf3DnnLvj9rNHONd66rqm6s73P/Gqvq3qvqjqjqoqg6rqj+YfS/+o6reWlUP2EPmX6uqD8wed31V\nXVBVD+nzPQAAwFitZ4/xa5L8WJLXJ3lzkvsmOT/dIcb7VFVfn67oHZzkZUk+luR+SZ6ZZFJVD2ut\n3bSXTew62dN/rqo/aq19ei+PfW2Sr03yX9IdJnvFbP3HZv8em+S02eNelWRHkkck+eV0h2DvKo1v\nTfK8JL+W5CVJ3jZbf/ve26o6L8kTkvxtujJ+tyQ/leQtVXVya+0Ne8m5L/eb/fuvK1dW1Q/Psl+Z\n5PfTHT7+7Ul+I8mJszypbs71xUluS/InSa5Od5jww5J8W5L/b8Vm77B3vbq5zW9O8i1J/jzdnvqH\nJPmHJJ9bHXStmVa81lemO1T5XUmek+TeSX4uyd9V1Te11tpsu4fMcnz37N+/SHJLusPnT053SP2f\nJ/ntdN/TO+z9TfLYJHfPHQ+V7sPujkZoSb5+lvOv042J70/y39J9Dx6Y5JBZ1nulmxbwutn6JLd/\n7m9K8p/SvdcXJjk63Vh+R1V9V2vtkp7fCwAAjEtrba+3dAXxtiS/sGLd98/WvWzVY390tn7nqvWv\n2M261ye5LsnXrlp/Urq5rWeuIdsLkuxMV4zemuT5Sf7vJHffzWOfMnvsd+/mvoOTHLSb9b8xe87D\ndvN5PHk3jz95dt/pq9ZvSvKeJB+7C5/3ryf5qnSF6ZvSFb6dSV676vF3S/LpdIW3Vt33rJXvOcmP\nzLb9uDVmePKKdT89W3fmqsfuKnkf359Ms3UXz9Y9e9Vjf3G2/lEr1v3y7PWeu4/38Kok21ePhSRv\nSfLZJIfu63ux4jlbZq/58r085hNJLtrNup1JHrtq/b/Mtnf+qvU/u5v3+/Ozdd+36rFHpPvDxkVr\nfR9ubm5ubm5ubm5ubru/7e+h1D+Wbm/Y769c2Vq7IMmH9/XkqjoqyQ8nuSDJrVX1Vbtu6U6M9dF0\n5XuvWmvPSndSqnckeXi6IvU3ST5dVb9TVWuaD9xa29Fmh2PPDnG9+yzL/043p/jb1rKdJKckuTHJ\nBave0z2SXJhka1Xdb69b+LJzknwmyb+lO8nXM5L8UZInrnrco5Ick+TcJPdc9bpvnOXf9VneMPv3\nh6rqyDXm2OXH0u1J/8NV6/8k3Xve30y73JZub+hKF80eu/Jw6p9Mt/f5ufvI+9Ikh6XbW5/k9rnC\n35vkvHbg5lBf21o7f9W6t6f772f1+31b7vx+fyrdEQ7vXfU5Hpau5H9nVd1tY6IDAMA47O+h1PdJ\nV2Q+spv7PpTuDL178w3p9qKenuRpu7m/5cuHSu9Va+1VSV41O+T0wekK18+lOyz1+nR7kfepqp6Z\n7kzWD8od5163dMV2LR6Q5MisOLR6ddx0hfGja9jWS9OV/EPSHSb8K0l+PF05vnbF43YddvuKfbxm\nWmv/WFWvTHdW61Oq6j3pDoX+q9bah/aR5z5JPt1au/kOG2/t1uquYXz3/cm0wr/upqzuOkT7q1as\nu3+S9+6r2LbuzNofSTfGXjRbfdrs35ft7bk9293Ugutn/161h/Ur3+8D05Xgz+xmO7sO375X7jgm\nAACAu2Cos1Lv2pN7XpJX7uEx/3FXNtha25HkkiSXVNX56Qr66VlDMa7uGs2/n25v5gvSzeG9Nd3c\n41dm7Scpq3QF5onZ89mrP7DGbV3ZWtt1Mqc3VdU70u1p/LN8ec7zrtds6faWX7aHbd0+J7m19tSq\n+r3ZNr4ryS8k+e9V9azW2ovXmG1f7lKmmTudQG3V9vbHnyb53ap6aJJL0x1O/y+ttffv5/b2x97e\n157uq1Vfvz/dIdV7+hx2V5oBAIA12t9i/PF0ZfGEdAV0pW9cw/M/mq44Hbqi/PWmtfaRqro+XbG9\nffVennJKkk+01h69cmVV/cDuNr+X7VyZ5NFJ/rnNzojdl9bau6rqL9Jdrul7V3xuV6YrTNvX+lm2\n1i5PcnmSP5gd1v7uJL+TZG/F+ONJHlVVR6zca1xVh6bbm/z5FY+9y5nugo8keUBVHdL2fYmkc5P8\nVro/kFyQ5PjZ8iK5MslXt9YuHjoIAAAsq/2dY/z6dMXnl1aurKrHZN+HUae19vkkf5/ksVW12/m7\nVXWvvW2jqo6pqhP3cN93Jblnkg+uWH3zLPM9d/OUnUnayjnJs0Ozn5M7F+FdpXB32/nzJAelK5m7\ny/U1u1t/Fzw33SHsZ61Y96Z085B/tarudMj37JJAR8y+vsfqedettRvTHe57+D7mqr4+3R9Snr1q\n/TOTHLVq3Zoz7YdXpfvsf31fD2ytfS7J36Wbp/v/JPn3JK/ez9cdyp8n2VxVqz/3JL2MKQAAGL39\n2mPcWntzVV2Y5CkrTqh0v3RnLv5Aunm6+/KMdCcb+seq+vMk701X1O+T7kRPr0x3Vug9OS7Je6rq\nn9OdJOvj6c6G/JB0J2i6Nd1llXZ5T7pS+d9nly3693R7id+d7jI6z0vyxtlh2EenOxz61tz58NXL\nk9yU5JlV9R9JvpDk31prF7fWXltVr0jyM9Vd3/cN6c6AfFy6SxXdN1++5NJd1lr7WFW9JslPVtWk\ntTZtrW2v7nrDr0vy4equzfzRdHN+H5juTNmPSXcppCcn+fmqet3sMV9KMkk3L/uvWmtf3MvLvyLd\n9/fMqrpPussqPTTJ49Jd9ur2axPfxUx31QvSnV3716vqW9NdCumWdGPuhNba6pN6vTTJ49Od7O3c\n1XOkF8AL0p3M7Her6nvTnZDsxnR7vx+ZbsrBna7XDAAArN1ai3HLnfecPj7dNYF/Ksn3pZsHefJs\neXeHU9/h+a21T1XVt6Q7qdSPzZ53S5JPpts7+df7yHRFur2Vj0p3Tdxj0p2o6tPprqf8h6212+e3\nttY+WVVPnb3ei2ePfWW6w4h/b/aw05P8cbrLSL0m3aG4l6/M3lq7paqeMHvvf5SujL813SWH0lo7\nvaouSlcifzXJobPtXTJbXovdfd67/FaSn0hyZpLp7DXfXFUPn23/p5J8dboTOX0s3dzp982eO033\nh4MfTndd553p9hY/O18+QdXKDF9eaO1LVfV96T6rx6S7HvC7033+f5CuqK18/Foz7fb1Vq1f+fl/\nqaoeNcv8k7PP45Z0hxy//E5Pbu2iqvpouj9K3On+u2Bv35OVj1nLujW/TmttR1U9Ot1Yf1KSs2d3\n/Wu6z39Pc/QBAIA1qtbu6u/tsFiq6gNJNrXW1jL/HQAAGJn9nWMMC2F2+PE3pjukGgAA4E7sMWYp\nVdX3pJvP/atJDk9y/wWcXwwAABwAQ13HGDbamUm+I92ZyZ+kFAMAAHtijzEAAACjZo4xAAAAo6YY\nAwAAMGqKMQAAAKOmGAMAADBqijEAAACjphgDAAAwaooxAAAAo6YYAwAAMGqKMQAAAKOmGAMAADBq\nijEAAACjphgDAAAwaooxAAAAo6YYAwAAMGqKMQAAAKOmGAMAADBqijEAAACjphgDAAAwaooxAAAA\no6YYAwAAMGqKMQAAAKOmGAMAADBqijEAAACjphgDAAAwaooxAAAAo6YYAwAAMGqKMQAAAKOmGAMA\nADBqijEAAACjphgDAAAwaooxAAAAo6YYAwAAMGqKMQAAAKOmGAMAADBqijEAAACjphgDAAAwaoox\nAAAAo6YYAwAAMGqKMQAAAKOmGAMAADBqBw8d4ECoqjZ0BgAAADZOa63297mjKMZJ0ppuzOI79dRT\n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\nhoUynU6HjgDrsnXr1lSVm9vS3LZu3Tr0f1awLn63gM5o9hgDMLyrr77aETwslar17aEAYD6MZo7x\nGN4nwLyrKsWYpWJMA8yH2c/j/f5rpUOpAQAAGDXFGBaIeUAAQJ/8bgEdxRgAAIBRU4xhgUwmk6Ej\nwFK7/vrrc/LJJ+eII47Ive9977z61a8eOtIB96IXvSgPf/jDc9hhh+W0004bOs4gbr311jztaU/L\n1q1bc/TRR+ekk07KG9/4xqFjwYbwuwV0FGMABrV588Zewmnz5q1rzvLMZz4zhx12WD7zmc/kvPPO\nyzOe8Yx86EMf2rg3P7P5uM0b+xkct3nNWY499ticccYZOf300zfwHd/Z1s0b+xls3bz2z2DHjh05\n/vjj87a3vS033HBDnvvc5+bxj398rrnmmg38BAAYkrNSwwKZTqf+sstC290ZfLvL3Wzkz+i1nTV4\n+/btucc97pHLL788973vfZMkT3nKU3Lsscfmec973gbmm30GZ2/gC5ydu3zm5DPOOCPXXnttXv7y\nl29MplWqaoNHwV3/DFY68cQTc/bZZ+fkk0++43adlZoF53cLloWzUgNADz7ykY/kkEMOub0UJ10Z\n+uAHPzhgKubBtm3bcuWVV+ZBD3rQ0FEA2CCKMSwQf9GFjXPzzTfnqKOOusO6o446KjfddNNAiZgH\nO3bsyCmnnJJTTz01J5xwwtBxoHd+t4COYgwASY444ojceOONd1h3ww035MgjjxwoEUNrreWUU07J\n3e52t7zwhS8cOg4AG0gxhgXiWoOwcU444YTs2LEjH/vYx25fd9lllzl8dsROP/30fPazn83555+f\ngw46aOg4sCH8bgEdxRgAkhx++OF57GMfmzPPPDPbt2/P29/+9lx44YV50pOeNHS0A2rnzp255ZZb\nsnPnzuzYsSNf/OIXs3PnzqFjHXBPf/rTc8UVV+SCCy7IoYceOnQcADaYs1IDcMDM81mpk+46xqed\ndlre8pa35F73ulee//zn5wlPeMIGZuvM01mpzznnnJxzzjmz70vnrLPOyplnnrlB4TrzdFbqa665\nJlu3bs1hhx12+57iqspLXvKSPPGJT7zjdp2VGmAurPes1IoxAAfM7krE5s1bs23b1Rv2msccsyXX\nXXfVhm2/D5uP25xt127bsO0fc+wxue5T123Y9vuwdfPmXL1t4z6DLccck6uu6/8zUIwB5oNivAaK\n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\n766FqvrFqnp3VV1aVWfN1h0+2+v63tle5h+frb+4qk6aff3UqvpwVf1Tku9Ysb17VdXfVtU/z27f\nPlt/VlW9bLaNj1bVz654zpOr6rLZ672yqo6Y7Qk+aHb/kSuX96aqDk1yeJIvVdUpSf6+tfaFHj43\nADjgDh46AAAskUqSWbF8VJKLZsuPSnL/1tq3VlUluaCqvjPJ1yS5trX2n2ePO/IOG6vanOTsJA9N\ncmOSaZJLZne/IMkfttbeWVVfn+RNSb5xdt83JJkkOTrJh6vqxUkekOTXknx7a+36qrp7a+3mqro4\nyQ8nuSDJTyR5bWtt5z7e54uS/FOS9yd5Z5K/y5f3HAPAwlGMAaA/X1FVlyQ5LsknkvzJbP33J3nU\n7L5K8pVJ7p/k7Ul+v6p+O8n/aq29fdX2vi3Jxa21zydJVf3V7HlJ8n1JHjgr2klyRFUdPvv6f7XW\ndiT5XFVtS3JMku9J8jetteuTZMXe3Zcl+aV0xfipSZ62rzfZWjsvyXmzTGck+R9JHl1VT05yTWvt\n2fvaBgDME4dSA0B/trfWTkpyfJJbkvzobH0l+e3Z/OOHttZOaK29orV2ZZKT0u15/c2q+vXdbLN2\ns27X+m+bbe+hrbXjW2vbZ/d9ccXjdubLfwi/07Zaa+9MsrWqHpFkU2vt8rW+2ar6uiQPb61dkOTZ\nSR6f5IaqeuRatwEA80AxBoD+VJK01m5J8qwkz5utf1OS03adpbqqvq6qvrqqvjbJf7TW/jLJ76Ur\nySv9c5Lvrqp7VNUhSX58xX1vnr1GZts8cW+Z0h3W/biquufs8fdY8Zi/SPKXSV5+V95skt9Id9Kt\nJDls9u9t6eYeA8DCcCg1APTn9jNGt9Yuraorq+oJrbW/qqoHJnnX7Mjnm5Kcku6w6N+rqtuS3Jrk\n6Su301q7rqrOTjef9/okl654rWcleVFVXZbkoCT/mOSZe8rUWru8qn4ryVurakeS9yY5bfaYV6U7\no/Rr1vpGq+oh3WbbZbNVr0635/uaJM9f63YAYB5Ua0Nd9QEAmAdV9bgkP9Jae8oe7n9Fkje01l67\nH9u+qbV25L4fCQDDsccYAEasqv5Hkh9M8ui9POyGJL9RVV+14lrG+9rufZK8Nsmn158SADaWPcYA\nAACMmpNvAQAAMGqKMQAAAKOmGAMAADBqijEAAACjphgDAAAwaooxAAAAo/b/A53jKxgxLVFjAAAA\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f68aacace10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Percentage of time spent in each idle state\n",
"ia.plotCPUIdleStateResidency([1,2], pct=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Per-cluster Idle State Residency"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": 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>time</th>\n",
" </tr>\n",
" <tr>\n",
" <th>idle_state</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.101647</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.548901</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.262977</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" time\n",
"idle_state \n",
"0 0.101647\n",
"1 0.548901\n",
"2 4.262977"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Idle state residency for the big cluster\n",
"trace.data_frame.cluster_idle_state_residency('big')"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nPclT4I00FwZ7XZLH0Vzc6zqaWevH07QB3O5+xJIkSZIaXYve4vYznj9Dc8/bY4An0PQdPqsdL7bE\n+Tbvr6orkzyU5gJNz2zfdyNwBc2s4rt2ENMlNLOMT6S55+tqmos+XU1zv+A/q6pt/aRVdUWSX2jP\n91ftvm+jWdr7+na3FwAn09xK6Z00y2O/OBp7Vd2Y5Gfbz/4GmkL7PJrb7lBVL0hyDk2B+HLgTu3x\nLmzHXSz2fc/7A+DngFcCG9pznp3kR9vjHwMcSHNRpK/Q9Cr/Z/veDTS/FHgqzX2Lb6aZ5X0pt17s\naTSGWwdVNyV5As139ZM097v9NM33/6c0Rdjo/l1jWvR8C7aPfv83JXliG/Nz2+/jRpplwG+93Zur\nzklyGc0vHG73+hiW+jMZ3afLts7nqarvJXkKTa4/D1jfvnQVzfe/vZ54SZIkSbT3UJVmWZLPA3eo\nqi795pIkSZJmyM729EpToV0SfH+aZc6SJEmSBsaZXs2kJI+l6Z9+ObA3cJ8p7OeVJEmStIv6uk+v\ntNJeCRxFcwXv51nwSpIkScPkTK8kSZIkaWbZ0ytJkiRJmlkWvZIkSZKkmWXRK0mSJEmaWRa9kiRJ\nkqSZZdErSZIkSZpZFr2SJEmSpJll0StJkiRJmlkWvZIkSZKkmWXRK0mSJEmaWRa9kiRJkqSZZdEr\nSZIkSZpZFr2SJEmSpJll0StJkiRJmlkWvZIkSZKkmWXRK0mSJEmaWRa9kiRJkqSZZdErSZIkSZpZ\nFr2SJEmSpJll0StJkiRJmlkWvZIkSZKkmWXRK0mSJEmaWRa9kiRJkqSZZdErSZIkSZpZFr2SJEmS\npJll0StJkiRJmlkWvZIkrYAkG5M8bjuv/XiSi1fw3LckuedKHV+SpGli0StJ0m5WVR+vqh/e2fcn\nOSjJW5JcleSbSb6Y5KQk3zd/il2NMcmpSV61q8eRJKlvFr2SJE2RJHcBPgnsCTy8qu4MPBG4M3Cv\n+d16Cm+bJHv0HYMkSWDRK0nSSnpYki8k+UaSU5LcCSDJY5JcMb9TkiOSXNjO2r4ryTuXmGV9KXBd\nVT2vqq4AqKqvVdWJVfX5hTsnOTfJL46Mj03ysZHxG5Jsac/92ST3T/LLwDHAy5Jcl+S97b53T/Lu\nJF9P8pUkvz5ynJOS/EOStyfZChy7S9+cJEnLxKJXkqSV81yaWdh7AfcFfm/ktQJIckfgPcBbgQOA\n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\n/x9yyqxes5rNV27uOwxJkiRJ2qFpuE/vTe3Pq5M8FbgKOGBZz7B+WY8287as39J3CJIkSZK0yyZl\nefNrktwZeCnwm8BbgBP6DUlDNPR+B43HfFFX5oq6MlfUlbmicQw9XyZlpvfaqvom8E3gsQBJjuo3\nJEmSJEnStJuUnt4Lq+qIHW3bheOXy5vHtB4mITckSZIkaUcmtqc3ySOARwIHJjlx5KX9gD06HuMU\n4GnAlvmLYEmSJEmSBP339N4J2Iem+N535HEd8NMdj3EqcPSKRKfBGXq/g8Zjvqgrc0VdmSvqylzR\nOIaeL73O9FbVecB5SU6rqq8CJLkLsLU6rq2tqo8nOXQl45QkSZIkTadee3qTvBJ4V1VdkmRP4F+B\ntcD3gOdW1Uc6HudQ4P3bW95sT+9OWG9PryRJkqTpsFRPb9/Lm38W+FL7/FiaeA4EHgO8tq+gJEmS\nJEmzoe9bFn13ZBnz0cCZVXUzcHGS5Y3tLGD/9vlewEHA4e14Y/vT8W3HrfkegHXr1s38eLTfYRLi\ncTzZY/PFcdfx/LZJicfx5I7n5uY44YQTJiYex5M7Pvnkk1m7du3ExON4ssezmC9zc3Ns3boVgE2b\nNrGUvpc3/zvwS8AWmhnfh1bVxva1S6rqfh2PcxjN8uYf2c7rLm8e1/phLm/esGHDtr9M0o6YL+rK\nXFFX5oq6Mlc0jiHky1LLm/sueh8OvI1mSfPJVfXqdvtTgOdV1XM6HOMdwDrgrjTF80lVdeqCfSx6\nx7V+mEWvJEmSpOkzsUXv7mLRuxPWW/RKkiRJmg6TfCEraaLM9wtIXZgv6spcUVfmiroyVzSOoeeL\nRa8kSZIkaWa5vFmLW+/yZkmSJEnTYeKXNyfZO8n/TfLmdnyfJE/rOy5JkiRJ0nSbiKIXOBX4DvCI\ndvw14DX9haOhGnq/g8Zjvqgrc0VdmSvqylzROIaeL5NS9N6rql4H3ARQVTcAi05NS5IkSZLU1UT0\n9Cb5BPB44PyqOiLJvYAzq+phy3T8/j/klFm9ZjWbr9zcdxiSJEmStENL9fSu2t3BbMdJwAeBeyQ5\nAzgKOG45TzAJxb0kSZIkafeaiOXNVfVh4Nk0he6ZwJFVtaHPmDRMQ+930HjMF3Vlrqgrc0VdmSsa\nx9DzpdeZ3iRHLNh0dfvzkCSHVNWFuzsmSZIkSdLs6LWnN8m5S7xcVfW4ZTpPubxZkiRJkmbTUj29\nE3Ehq5Vm0StJkiRJs2uporfXnt4kz17q0WdsGqah9ztoPOaLujJX1JW5oq7MFY1j6PnS99Wbn97+\n/AHgkcA57fixwCeA9/QRlCRJkiRpNkzE8uYkZwPHVtXV7fjuwGlVdfQyHd/lzZIkSZI0oyZ2efOI\ne8wXvK0twCF9BSNJkiRJmg2TUvR+NMmHkhyX5DjgX4CP9ByTBmjo/Q4aj/mirswVdWWuqCtzReMY\ner703dMLQFW9uL1w1aPaTW+qqrP6jEmSJEmSNP0moqd3pdnTK0mSJEmza6me3l5nepNcDyxWjQao\nqtpvN4ckSZIkSZohvfb0VtW+VbXfIo99LXjVh6H3O2g85ou6MlfUlbmirswVjWPo+TIpF7KSJEmS\nJGnZ2dMrSZIkSZpq03CfXkmSJEmSlp1FrzRi6P0OGo/5oq7MFXVlrqgrc0XjGHq+WPRKkiRJkmbW\nYHp6d+Z9q9esZvOVm5c7HEmSJEnSMlqqp3c4Re/6nXjjehjC9yNJkiRJ08wLWUkdDb3fQeMxX9SV\nuaKuzBV1Za5oHEPPF4teSZIkSdLMcnnzUta7vFmSJEmSJp3LmyVJkiRJgzT1RW+SJyW5JMmXk/x2\n3/Foug2930HjMV/UlbmirswVdWWuaBxDz5epLnqT3AH4C+Bo4AHAc5Lcr9+oJEmSJEmTYqp7epP8\nGHBSVT25Hb8cqKr64wX72dMrSZIkSTNqlnt61wBXjIyvbLdJkiRJksSqvgPYbc4C9m+f7wUcBBze\njje2PxeOW/Nr4NetW+d4xsej/Q6TEI/jyR6bL467jue3TUo8jid3PDc3xwknnDAx8Tie3PHJJ5/M\n2rVrJyYex5M9nsV8mZubY+vWrQBs2rSJpczC8ub1VfWkduzyZu2SDRs2bPvLJO2I+aKuzBV1Za6o\nK3NF4xhCviy1vHnai949gC8BjweuBj4NPKeqLl6wn0WvJEmSJM2opYreqV7eXFU3J3kxcDZNf/Ip\nCwteSZIkSdJw3aHvAHZVVX2wqu5bVfepqj/qOx5Nt/l+AakL80VdmSvqylxRV+aKxjH0fJn6oleS\nJEmSpO2Z6p7eruzplSRJkqTZNcv36ZUkSZIkabsseqURQ+930HjMF3Vlrqgrc0VdmSsax9DzxaJX\nkiRJkjSz7Oldynp7eiVJkiRp0i3V0zuconcnrF6zms1Xbl7ucCRJkiRJy8gLWdHM2I77sOAdnqH3\n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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f68aab79050>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ia.plotClusterIdleStateResidency(['big', 'LITTLE'])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA98AAAFyCAYAAADs7mmpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm8JWddJ/7Pt7MQYwiLaFoT6Q5LZBXIgI4/VM6oOKOM\nS/g5IBogJowDuMCIuGcDRRncGAYHcFgNxA2U4DgsDjkKyKYhYQmBsCSBSCJISAIxhO4880dVJ/fe\n3O6+3V3Vde7J+/16nde99Zw6VZ9T9+nb93uqnqeqtRYAAABgPFumDgAAAADLTvENAAAAI1N8AwAA\nwMgU3wAAADAyxTcAAACMTPENAAAAI9uUxXdVvaKqbt5bG4urqh5RVTdX1RM2uP68qj4xdq5FVlWX\nVdVbp84BAADsu4UovlcUYj+3wZe0/rG3tkFU1Q9U1Zur6lNVdWNV/VNVvaOqnltVd12x3oOq6syq\nuvsB7m9bv51vPvD0625/1/Fe+bi+qi6oqp+vqkPH2O869uXntVQ3pK+q89f5Gaz32LniA4rR+jgA\nADCug1VkbVpV9dwkz0xyUZIXJrk6yTckeWCS/5LkT5J8vl/9wUnOTHJ+kisOYLfb++18Msn7D2A7\ne/OaJH+dpJJsTfKEJP8tyQOSnDLiftNa+9uq+qokXxlzPwvs15P84YrluyX5/SR/l+Qla9b9+/7r\nCVF8AwDApqT43oOq+tokz0jy7iTf3lrbueb5I9e+JMMURzXANjbigtbaa27ZadX/THJJksdX1S+2\n1q4ec+ettZvG3P4ia63935XLVbUtXfH9iZU/kzWvub1+UAEAAJveQlx2vjtVdYeqel5VXVlVN1TV\nu6rqkfu4ja1V9T+r6vKq+nK/rRf3hfXe3CPdMXrb2sI7SVprN7TWbuj3c2aSl/VPzVdcNvyy/vmj\nqurX+/fw2f7y9Uur6jf7M8C78j4xyVvTFfGvWLGdVWN9q+opVfUPVfWl/pLxt1bVbF+OzXrvJ8m7\n+sXta5+vqodW1V+syH9JVf1KVR2yZr37VdWfVdWn+/U+0+f7vhXrrDvmu6ruXFV/2O/ji/3rTtxd\n5n3INK+qT1TV11fVuVX1+f7YvbGq7r3Odg+rql+oqvf1632hqt5bVT/VP//0Pv93r/Paw6vqX6rq\nb3aXe3/UOmO+d7VV1QOrGxpxXVX9c1X9XlUdUlVHVNXv9D+Lf62qv62q++wm869U1Qf79a6pqvOq\n6sFDvgcAALi9WvQz33+c5IeSvD7Jm5PcM8nr0l2OvVdV9Y3pislDk7w0yceT3CvJU5PMquqhrbXr\n97CJXRN8/ceq+r3W2mf2sO5rk3x9kv+c7pLiS/r2j/dfj01yar/eq5PsSPKIJL+Q7nL1XYXp3yZ5\nTpJfSfLiJG/r2285C11V5yR5bJI/T1fw3yHJjyd5S1Wd1Fr7qz3k3Jt79V//aWVjVT2qz35pkt9O\nd6n9tyV5VpIH9XlS3Rj485PcnORFSS5Pd0n1Q5N8a5L/s2Kzq64SqG6s+ZuT/Jskr0p3xcGDk/xN\nkn9ZG3SjmVbs66vTXdb9ziS/nOT4JE9P8pdV9YDWWuu3e1if4zv7r3+U5MZ0Qw1OSjf84FVJfjPd\nz3TVWewkj05y56y+rHwI611V0ZJ8Y5/zT9P1ie9N8rPpfgb3TXJYn/Vu6YZQ/EXfnuSW4/6mJP82\n3Xt9QZI7pevL76iq72itXTDwewEAgNuX1trkj3RF6M1Jfm5F2/f2bS9ds+4P9u0717S/fJ221ye5\nKsnXr2k/Md1Y4zM2kO35SXamK77+Nslzk/z/Se68zrpP7Nf9znWeOzTJIeu0P6t/zUPXOR5PWGf9\nk/rnTlvTviXJe5N8fB+O968l+Zp0RdkD0hWVO5O8ds36d0jymXRFda157mkr33OSH+i3/SMbzPCE\nFW0/2bedsWbdXYXkJ/YnU992ft/2jDXr/nzf/sgVbb/Q7+/Ze3kPr05yw9q+kOQtST6X5PB9+Dew\nrd/ny/awzieTvHWdtp1JHr2m/R/67b1uTfvPrPN+/2vf9j1r1j0q3Ycnb93o+/Dw8PDw8PDw8PDw\nWP+xyJed/1C6s3q/vbKxtXZeko/s7cVVdXSSRyU5L8lNVfU1ux7pJkP7WLoCf49aa09LNxHZO5I8\nLF2x9mdJPlNVv1VVGxqf3Vrb0fpL1/vLge/cZ/m/6cZ4f+tGtpPk5CTXJTlvzXu6S5I3JNleVffa\n4xZudXaSzyb553QTuz0lye8ledya9R6Z5Jgkr0hy1zX7fWOff9exvLb/+n1VdccN5tjlh9JdEfC7\na9pflO4972+mXW5Od1Z3pbf266689PzH0p1Ff/Ze8r4kyRHprjpIcsvY7e9Kck47eGPar2ytvW5N\n29vT/ftZ+37fltu+3x9Pd6XG+9YcxyPSfZDw7VV1h3GiAwDA7cMiX3Z+j3TF0kfXee7D6WZ+3pNv\nSnc2+LQkT1rn+ZZbLyvfo9baq5O8ur8895vTFXVPT3cJ7zXpzobvVVU9Nd0M6ffP6vH2LV3xvBH3\nSXLHrLgMfW3cdEXpxzawrZek+yDhsHSXVP9ikv+UrgC/csV6uy5Rfvle9pnW2t9V1SvTzZZ+clW9\nN91l43/SWvvwXvLcI8lnWmtfXLXx1m6q7h7fd96fTCv80zoF8a7L2b9mRdu9k7xvb8Vz62Zs/2i6\nPvbCvvnU/utL9/Taga03DOOa/utlu2lf+X7vm67Q/uw629l1qfvdsrpPAAAA+2CRi+8DteuM9DlJ\nXrmbdf51XzbYWtuR5IIkF1TV69J9CHBaNlB8V3cP899Od1b2+enGVN+Ubiz4K7Pxye8qXZH0uOx+\nVvQPbnBbl7bWdk3g9aaqeke6M6b/K7eOQd+1z5burP9Fu9nWLWPEW2s/UVXP67fxHUl+LsmvVtXT\nWmt/sMFse7NPmXq3mTRvzfb2xx8m+W9V9ZAkF6YbevAPrbUP7Of29see3tfunqs1338g3eXnuzsO\n6xXmAADABi1y8f2JdAXpCemK3JXut4HXfyxdcXb4igJzMK21j1bVNemK51ua9/CSk5N8srX2/Ssb\nq+rfr7f5PWzn0iTfn+TdrZ9pfSittXdW1R+lu9XYd604bpemK8pu2OixbK1dnOTiJL/TDwF4T5Lf\nSrKn4vsTSR5ZVUetPPtdVYenOyv++RXr7nOmffDRJPepqsPa3m/v9Yokv5HuQ5jzkty9X95MLk3y\nta2186cOAgAAy2qRx3y/Pl1x9cyVjVX1w9n7JedprX0+yV8neXRVrTueuqrutqdtVNUxVfWg3Tz3\nHUnumuRDK5q/2Ge+6zov2ZmkrRwj3l/G/su5bbG9q/BcbzuvSnJIukJ2vVxft177Pnh2usv9z1zR\n9qZ048J/qapuc3l8fzuro/rv77J2HHxr7bp0l0YfuZexw69P94HQM9a0PzXJ0WvaNpxpP7w63bH/\ntb2t2Fr7lyR/mW7c9E8n+VKSc/dzv1N5VZKtVbX2uCcZpE8BAMDt3sKe+W6tvbmq3pDkiSsm0bpX\nuhmxP5hu3PTePCXdBFN/V1WvSvK+dB843CPd5F6vTDfb+O4cl+S9VfXudBOjfSLdLNsPTjcp103p\nbgm2y3vTFa6/2t9y60vpzna/J90toJ6T5I39Jet3Snfp+E257aW+Fye5PslTq+pfk3whyT+31s5v\nrb22ql6e5Kequ//1X6WbWfu4dLfZumduvV3YPmutfbyq/jjJj1XVrLU2b63dUN39uP8iyUequ3f5\nx9KNwb5vuhnYfzjdbbyekOS/VtVf9Ot8Jcks3Tj5P2mtfXkPu395up/vGVV1j3S3BHtIkh9Jd8u2\nW+7dvY+Z9tXz083a/mtV9S3pbuN1Y7o+d0Jrbe1Ebi9J8ph0E/y9Yu2Y9U3g+ekmsPtvVfVd6Sah\nuy7dWfzvTjc84zb3MwcAADZukYrvltueAX5Muntm/3iS70k3LvWkfnm9S89Xvb619umq+jfpJhL7\nof51Nyb5VLqzrH+6l0yXpDvr+sh094w+Jt3kZJ9Jd7/x322t3TLeuLX2qar6iX5/f9Cv+8p0l1w/\nr1/ttCS/n+4WaH+c7rLli1dmb63dWFWP7d/776Ur+P823e2y0lo7raremq5Q/aUkh/fbu6Bf3oj1\njvcuv5HkR5OckWTe7/PNVfWwfvs/nuRr003e9fF0Y9nf3792nu7DiUelu+/5znRnvZ+RWyclW5nh\n1oXWvlJV35PuWP1wuvtlvyfd8f+ddMXgyvU3mmnd/a1pX3n8v1JVj+wz/1h/PG5Md3n2y27z4tbe\nWlUfS/fBx22e3wd7+pmsXGcjbRveT2ttR1V9f7q+/vgkZ/VP/VO647+7ORMAAIANqtb29e92YK2q\n+mCSLa21jcxHAAAA3M4s8phv2BT6S7Xvl+7ycwAAgNtw5hv2U1X9u3Tj638pyZFJ7r0Jx3sDAAAH\nwSKN+YbN5owkD0834/3jFd4AAMDuOPMNAAAAIzPmGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJni\nGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAA\nAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam\n+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYA\nAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYAAICRKb4BAABgZIpvAAAAGJniGwAAAEam+AYAAICR\nKb4BAABgZIpvAAAAGNmhUwdYFlXVps4AAADAeFprtb+vVXwPqDX1N5vfKaeckle84hVTx4ADoh+z\nLPRlloF+zLKo2u+6O4nLzgEAAGB0im9gle3bt08dAQ6Yfsyy0JdZBvoxdBTfwCqz2WzqCHDA9GOW\nhb7MMtCPoaP4BgAAgJEpvgEAAGBkZYbuYVRVcywBAACWU1Ud0K3GnPkGAACAkSm+gVXm8/nUEeCA\n6ccsC32ZZaAfQ0fxDQAAACMz5nsgxnwDAAAsL2O+AQAAYMEpvoFVjMtiGejHLAt9mWWgH0NH8Q0A\nAAAjM+Z7IMZ8AwAALC9jvgEAAGDBKb6BVYzLYhnoxywLfZlloB9DR/ENAAAAIzPmeyDGfAMAACwv\nY74BAABgwSm+gVWMy2IZ6McsC32ZZaAfQ0fxDQAAACMz5nsgxnwDAAAsL2O+AQAAYMEpvoFVjMti\nGejHLAt9mWWgH0NH8Q0AAAAjM+Z7IMZ8AwAALC9jvgEAAGDBKb6BVYzLYhnoxywLfZlloB9D59Cp\nAyyTqv2+AuEWWw7fkptvunmANAzhyC1bcsPNfh4AAMCBMeZ7IFXVkiGOZSVnDbAZhnHWMD9VAABg\nc6vEmG8AAABYZIpvYJX51AFgAPOpA8BA5lMHgAHMpw4AC0LxDQAAACNTfAOrzKYOAAOYTR0ABjKb\nOgAMYDZ1AFgQim8AAAAYmeIbWGU+dQAYwHzqADCQ+dQBYADzqQPAglB8AwAAwMgU38Aqs6kDwABm\nUweAgcymDgADmE0dABaE4hsAAABGpvgGVplPHQAGMJ86AAxkPnUAGMB86gCwIBTfAAAAMDLFN7DK\nbOoAMIDZ1AFgILOpA8AAZlMHgAWh+AYAAICRKb6BVeZTB4ABzKcOAAOZTx0ABjCfOgAsCMU3AAAA\njEzxDawymzoADGA2dQAYyGzqADCA2dQBYEEovgEAAGBkim9glfnUAWAA86kDwEDmUweAAcynDgAL\nQvENAAAAI1N8A6vMpg4AA5hNHQAGMps6AAxgNnUAWBCKbwAAABiZ4htYZT51ABjAfOoAMJD51AFg\nAPOpA8CCUHwDAADAyBTfwCqzqQPAAGZTB4CBzKYOAAOYTR0AFsToxXdVbauqD+zmuZdU1X32cXvf\nV1XvraoPVtU/VtXz+vYzq+rn9iPfnarqKfv6OgAAANiog3Xmu63b2NpPttYu2ehGquoBSV6Q5Mda\naw9I8tAkHzvAbHdJ8tR9fVFV1QHuFxbSfOoAMID51AFgIPOpA8AA5lMHgAVxsIrvw6rqnKq6uKr+\ntKqOSJKqOr+qTuy/P62qPlJV7+rPiP/3dbbzzCS/3lq7NEla58VrV1qz3a+pqk/239+vqt5dVRdU\n1YVVdc8kv5nkHn3bc/v1fr6q3tOvc2bftq2qLqmqV/Zn8o8b/CgBAACwlA5W8f1NSf5Ha+1+Sa7P\nmjPNVfX1SX4tybckeXiS3V2K/oAk/7gf+9915v3JSX6/tXZiurPmn07yS0k+3lo7sbX2i1X1yCT3\nbq19S5KHJHloVX17//p79e/jga21T+1HDlh4s6kDwABmUweAgcymDgADmE0dABbEwSq+r2itvav/\n/pwk377m+W9JMm+tXdta25nkz0bK8c4kv1pVv5Bke2vty+us871JHllVFyS5IN0HB/fun7u8tfbe\nkbIBAACwpA49SPtZO+Z7vTHgGxlD/cF0Z6zXncBthR259YOFI27ZaWvnVtW7kvzHJH9dVT+Z5JPr\n5PjN1tofrmqs2pbkS3ve7SlJtvff3znJg3PrZ33z/uvelnu7Uh1vedLl3rz/OrsdLO/6flHyWLa8\nP8sXJnn6AuWxbHl/l38/+/fXhGXLi7S8q21R8li2vNHlC5N8oV++LAeuWlt3LrTB9EXrJ5N8W2vt\n3VX1h0k+1Fr7/ao6P8kzklyV5O3pLvP+UpK/SfL+1trPrtnWA5O8NsmjWmuXVtWWJP+5tfbifmz2\n9a213+338Y+ttRdV1dOT/Gxr7R5VdXxrbdf47+cl+VS6M/H/2Fo7vm9/ZJJnJfme1tqXquobknwl\nyZFJ/qq19sDdvM+2m3nl9vWIJWcNsBmGcdYwP9XNZJ5bf+nAZjWPfsxymEdfZvObRz9mOVSS1tp+\nT7y9ZcAse3JJkp+qqovTnRJ+Ud/ekqS19k9JnpPkPUnelq5Yv3btRlprH0h3MuPcqvpQkvfn1nOV\nK/12kqdU1T8mueuK9sf0tyh7X5L7J3lVa+3zSd5RVe+vque21t6S5Nwk76yq96e7BP6olXlhmc2m\nDgADmE0dAAYymzoADGA2dQBYEKOf+d6oqvrq/kzzIUn+IslLW2uvnzrXRjnzvaTO8okLAACwec58\nb8RZ/RnpDyT5xGYqvGGZzKcOAAOYTx0ABjKfOgAMYD51AFgQB2vCtb1qrT1z6gwAAAAwhkU68w0s\ngNnUAWAAs6kDwEBmUweAAcymDgALQvENAAAAI1N8A6vMpw4AA5hPHQAGMp86AAxgPnUAWBCKbwAA\n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\n9ucrX19V26rqAyte94yqOqP//mer6kNVdWFVvab/cODJSZ5eVRdU1cOr6m5V9edV9e7+8W39a8+s\nqldV1dtlu6O9AAAQ3klEQVSTvGroNw8AAMDy2siZ74PlnlV1QW697PxnWmvvWPH8vZJc3lr70ga2\ntbuz4L+YZHtr7StVdXRr7bqqelGS61trv5skVfXqdJe8/31VfWOSNyW5X//6+yZ5eGvtpn1/e7A5\nzKYOAAOYTR0ABjKbOgAMYDZ1AFgQi1R8b+Sy8wN1UZLXVNVfJvnL3azzPUnuW1W7zsQfVVVH9t+f\np/AGAABgXy1S8b03H0ty96o6qrX2xT2styPJISuWj1jx/aOSfGeSH0zyq1X1gHVeX0m+tbX2lVWN\nXS2+l7Pup3Rfzu/3ujXddHNJ8sn+q+WDsjzvF2exvK/Lu75flDyWLe/P8oVJnr5AeSxb3t/l30/y\n4AXKY9ny/izvaluUPJYtb3T5wiRf6Jcvy4Gr1vY8T9keZjtfean2tiR/1Vp74Jr1btNeVS/v2167\np/V2k+W3knxtkif3l47fLckjWmuv3TXbebpZ0P8pyTcluSHdcfs/rbVnVdW21trlVXVYunLtfunG\nkR/dWjur38c5SS5srf12v/yg1tpFa9/zOtlad7V7JWft6V0wurP2f/Y9un8ws4kzwIGaRz9mOcyj\nL7P5zaMfsxwqSWttj3OV7cmWDazzVVV1RVV9qv/69Kxf2+x2VvR12l60Ypu7xnXfo5/07H39159e\n53WnJ/lckour6v1J3pCu2L5lP/1kbM9K8t5047U/nNxym7JzquqiJP+Y5Pmttev6bZy0a8K1JD+b\n5KFVdVFVfTDJf9nDsYGlM5s6AAxgNnUAGMhs6gAwgNnUAWBB7PXMNxvjzPcCOcuZbwAAYFgH48w3\ncDsynzoADGA+dQAYyHzqADCA+dQBYEEovgEAAGBkim9gldnUAWAAs6kDwEBmUweAAcymDgALQvEN\nAAAAI1N8A6vMpw4AA5hPHQAGMp86AAxgPnUAWBCKbwAAABiZ4htYZTZ1ABjAbOoAMJDZ1AFgALOp\nA8CCUHwDAADAyBTfwCrzqQPAAOZTB4CBzKcOAAOYTx0AFoTiGwAAAEam+AZWmU0dAAYwmzoADGQ2\ndQAYwGzqALAgFN8AAAAwMsU3sMp86gAwgPnUAWAg86kDwADmUweABaH4BgAAgJEpvoFVZlMHgAHM\npg4AA5lNHQAGMJs6ACwIxTcAAACMTPENrDKfOgAMYD51ABjIfOoAMID51AFgQSi+AQAAYGSKb2CV\n2dQBYACzqQPAQGZTB4ABzKYOAAtC8Q0AAAAjU3wDq8ynDgADmE8dAAYynzoADGA+dQBYEIpvAAAA\nGJniG1hlNnUAGMBs6gAwkNnUAWAAs6kDwIJQfAMAAMDIFN/AKvOpA8AA5lMHgIHMpw4AA5hPHQAW\nhOIbAAAARlattakzLIWqakmy5fAtufmmm6eOc7t25JYtueFmPwMAAGBYrbXa39ceOmSQ2zsfZAAA\nACynqv2uu5O47BxYYz6fTx0BDsj27dtTVR4eS/PYvn371P+s4ID42wI6znwDsFQuv/xyVyKxVKoO\n7EwLAIvBmO+BVFVzLAGmV1WKb5aKPg2wGPrfx/v9iajLzgEAAGBkim9gFeOyAIAh+dsCOopvAAAA\nGJniG1hlNptNHQGW2jXXXJOTTjopRx11VI4//vice+65U0c66F74whfmYQ97WI444oiceuqpU8c5\n6G666aY86UlPyvbt23OnO90pJ554Yt74xjdOHQtG428L6Ci+AVh6W7eOe/uxrVu3bzjLU5/61Bxx\nxBH57Gc/m3POOSdPecpT8uEPf3i8N9/betzWcY/BcVs3nOXYY4/N6aefntNOO23Ed3xb27eOewy2\nb93YMdixY0fufve7521ve1uuvfbaPPvZz85jHvOYXHHFFSMfAQCmZLbzgZjtnGUxn899Qs2mtt7M\n0N2tmsb8Hb2x2ahvuOGG3OUud8nFF1+ce97znkmSJz7xiTn22GPznOc8Z8R8/TE4a8QdnJV9npH7\n9NNPz5VXXpmXvexl42Rao6pG7gX7fgx2edCDHpSzzjorJ5100m23a7ZzNjl/W7AszHYOAJvERz/6\n0Rx22GG3FN5JV3R96EMfmjAVU7v66qtz6aWX5v73v//UUQAYkeIbWMUn0zCeL37xizn66KNXtR19\n9NG5/vrrJ0rE1Hbs2JGTTz45p5xySk444YSp48Ao/G0BHcU3ABwkRx11VK677rpVbddee23ueMc7\nTpSIKbXWcvLJJ+cOd7hDXvCCF0wdB4CRKb6BVdyLE8ZzwgknZMeOHfn4xz9+S9tFF13kcuPbqdNO\nOy2f+9zn8rrXvS6HHHLI1HFgNP62gI7iGwAOkiOPPDKPfvSjc8YZZ+SGG27I29/+9rzhDW/I4x//\n+KmjHVQ7d+7MjTfemJ07d2bHjh358pe/nJ07d04d66B68pOfnEsuuSTnnXdeDj/88KnjAHAQmO18\nIGY7B1gMizzbedLd5/vUU0/NW97yltztbnfLc5/73Dz2sY8dMVtnkWY7P/vss3P22Wf3P5fOmWee\nmTPOOGOkcJ1Fme38iiuuyPbt23PEEUfccsa7qvLiF784j3vc4267XbOdAyyEA53tXPE9EMU3wGJY\nr1DZunV7rr768tH2ecwx23LVVZeNtv0hbD1ua66+8urRtn/Mscfkqk9fNdr2h7B969ZcfvV4x2Db\nMcfksquGPwaKb4DFoPheEIpvloV7cbLZKVRYNvo0m52/LVgW7vMNAAAAC86Z74E48w2wGJwlZNno\n0wCLwZlvAAAAWHCKb2AV9+IEAIbkbwvoKL4BAABgZMZ8D8SYb4DFYHwsy0afBlgMBzrm+9AhwwDA\n1LZt25aq/f5/ERbOtm3bpo4AwABcdg6sYlwWm91ll12W888/P601D49N/zj//PNz2WWXTf3PCg6I\nvy2go/gGVrnwwgunjgAHTD9mWejLLAP9GDqKb2CVL3zhC1NHgAOmH7Ms9GWWgX4MHcU3AAAAjEzx\nDaxibCHLQD9mWejLLAP9GDpuNTaQqnIgAQAAllg7gFuNKb4BAABgZC47BwAAgJEpvgEAAGBkiu8D\nVFX/oaouqaqPVtUvTp0HNqqqjquqt1bVh6rqA1X1s337XarqzVX1kap6U1XdaeqssDdVtaWqLqiq\n8/pl/ZhNp6ruVFV/VlUf7n83f6u+zGZTVb/c99/3V9Wrq+pw/ZjNoKpeWlVXV9X7V7Tttu/2ff3S\n/nf2925kH4rvA1BVW5L8jyT/Psn9kzyuqu4zbSrYsB1Jfq61dv8k35bkp/r++0tJ/qa19k1J3prk\nlyfMCBv1tCQXr1jWj9mMnp/kr1tr903yoCSXRF9mE6mqbUn+c5KHtNa+OcmhSR4X/ZjN4eXp6rqV\n1u27VXW/JI9Jct8k35fkD6pqrxOxKb4PzLckubS1dnlr7StJ/jjJD02cCTaktXZVa+3C/vsvJvlw\nkuPS9eFX9qu9MskPT5MQNqaqjkvy/Un+14pm/ZhNpaqOTvIdrbWXJ0lrbUdr7droy2wu1yW5KclX\nV9WhSb4qyZXRj9kEWmtvT3LNmubd9d0fTPLH/e/qy5Jcmq423CPF94E5NsmnVix/um+DTaWqtid5\ncJJ3JTmmtXZ10hXoSb5uumSwIb+X5JlJVt6+Qz9mszk+yeeq6uX9EIqXVNWR0ZfZRFpr1yT5nSRX\npCu6r22t/U30Yzavr9tN311bB16ZDdSBim+4nauqo5L8eZKn9WfA195/0P0IWVhV9agkV/dXcezp\nci/9mEV3aJITk7ywtXZiki+lu9zR72Q2jaq6R5L/mmRbkm9Idwb8x6MfszwOqO8qvg/MlUnuvmL5\nuL4NNoX+krA/T/JHrbXX981XV9Ux/fNbk/zzVPlgAx6e5Aer6hNJzk3yXVX1R0mu0o/ZZD6d5FOt\ntX/ol1+brhj3O5nN5KFJ3tFa+3xrbWeSv0jy/0U/ZvPaXd+9Msk3rlhvQ3Wg4vvAvDfJvapqW1Ud\nnuRHk5w3cSbYFy9LcnFr7fkr2s5Lckr//ROTvH7ti2BRtNZ+pbV299baPdL9Dn5ra+3xSd4Q/ZhN\npL+s8VNVdULf9N1JPhS/k9lcPpLk31bVEf3kU9+dbjJM/ZjNorL6Srrd9d3zkvxoP5v/8UnuleQ9\ne914a676OBBV9R/SzU66JclLW2u/NXEk2JCqeniSv0vygXSX0LQkv5LuF8efpvs07/Ikj2mtfWGq\nnLBRVfWIJM9orf1gVd01+jGbTFU9KN3EgYcl+USSn0hySPRlNpGqema6YmVnkvcleVKSO0Y/ZsFV\n1WuSzJJ8TZKrk5yZ5C+T/FnW6btV9ctJTkvylXTDN9+8130ovgEAAGBcLjsHAACAkSm+AQAAYGSK\nbwAAABiZ4hsAAABGpvgGAACAkSm+AQAAYGSKbwDYJKpqZ1VdUFXvr6rXVtVX7+d2XlJV91mn/YlV\n9YIDT7rPeV5eVZ+oqp/sl3+mqj5QVX9VVYf2bQ+vqt9Z8Zp7VNX7quq6g50XAPaH4hsANo8vtdZO\nbK19c5Lrk/yX/dlIa+0nW2uX7O7p/U53YH6+tfaS/vsfa609MMk7k/z7vu30JM/etXJr7ROttYcc\n5IwAsN8U3wCwOb0zyT13LVTVz1fVe6rqwqo6s287sj97/L7+bPl/6tvPr6oT++9/oqo+UlXvSvLw\nFdu7W1X9eVW9u398W99+ZlW9tN/Gx6rqZ1a85glVdVG/v1dW1VH9Ge1D+ufvuHJ5T6rq8CRHJvlK\nVZ2c5K9ba18Y4LgBwCQOnToAALBhlSR98frIJG/tlx+Z5N6ttW+pqkpyXlV9e5KvS3Jla+0/9uvd\ncdXGqrYmOSvJQ5Jcl2Se5IL+6ecn+d3W2t9X1TcmeVOS+/XPfVOSWZI7JflIVf1Bkvsk+ZUk39Za\nu6aq7txa+2JVnZ/kUUnOS/KjSV7bWtu5l/f5wiTvSvKBJH+f5C9z6xlwANiUFN8AsHl8VVVdkOS4\nJJ9M8qK+/XuTPLJ/rpJ8dZJ7J3l7kt+uqt9M8r9ba29fs71vTXJ+a+3zSVJVf9K/Lkm+J8l9+2I+\nSY6qqiP77/93a21Hkn+pqquTHJPk3yX5s9baNUmy4iz1S5M8M13x/RNJnrS3N9laOyfJOX2m05P8\n9yTfX1VPSHJFa+0Ze9sGACwal50DwOZxQ2vtxCR3T3Jjkh/s2yvJb/bjwR/SWjuhtfby1tqlSU5M\ndwb516vq19bZZq3Ttqv9W/vtPaS1dvfW2g39c19esd7O3Pph/m221Vr7+yTbq+oRSba01i7e6Jut\nqm9I8rDW2nlJnpHkMUmurarv3ug2AGBRKL4BYPOoJGmt3ZjkaUme07e/Kcmpu2Y/r6pvqKqvraqv\nT/KvrbXXJHleukJ8pXcn+c6quktVHZbkP6147s39PtJv80F7ypTuEvgfqaq79uvfZcU6f5TkNUle\nti9vNsmz0k20liRH9F9vTjcWHAA2FZedA8DmcctM5K21C6vq0qp6bGvtT6rqvkne2V8lfn2Sk9Nd\nQv68qro5yU1JnrxyO621q6rqrHTjq69JcuGKfT0tyQur6qIkhyT5uyRP3V2m1trFVfUbSf62qnYk\neV+SU/t1Xp1upvI/3ugbraoHd5ttF/VN56Y7g39FkududDsAsCiqtanuKAIA3B5U1Y8k+YHW2hN3\n8/zLk/xVa+21+7Ht61trd9z7mgAwLWe+AYDRVNV/T/Ifknz/Hla7NsmzquprVtzre2/bvUeS1yb5\nzIGnBIDxOfMNAAAAIzPhGgAAAIxM8Q0AAAAjU3wDAADAyBTfAAAAMDLFNwAAAIxM8Q0AAAAj+39H\nn3z/KYeorQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f68aa9aee10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ia.plotClusterIdleStateResidency(['big', 'LITTLE'], pct=True)"
]
}
],
"metadata": {
"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.6"
},
"toc": {
"toc_cell": false,
"toc_number_sections": true,
"toc_threshold": 6,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 0
}