blob: 964adb508475c5d65656993767b27f126e16e96f [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Android Multiple Workloads - complex example\n",
"\n",
"This complex example shows multiple workloads being executed in multiple configurations.\n",
"\n",
"Please check the notebooks in **examples/android/benchmarks/** and **examples/android/workloads/** to get more details on each of the possible workloads and how you can visualise their results."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-03-14 11:05:03,363 INFO : root : Using LISA logging configuration:\n",
"2017-03-14 11:05:03,364 INFO : root : /home/vagrant/lisa/logging.conf\n"
]
}
],
"source": [
"import logging\n",
"from conf import LisaLogging\n",
"LisaLogging.setup()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab inline\n",
"\n",
"import collections\n",
"import copy\n",
"import json\n",
"import os\n",
"from time import sleep\n",
"\n",
"# Support to access the remote target\n",
"import devlib\n",
"from env import TestEnv\n",
"\n",
"# Import support for Android devices\n",
"from android import Screen, Workload, System\n",
"\n",
"# Support for trace events analysis\n",
"from trace import Trace\n",
"\n",
"# Suport for FTrace events parsing and visualization\n",
"import trappy\n",
"\n",
"import datetime"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Support Functions"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def set_performance():\n",
" target.cpufreq.set_all_governors('performance')\n",
"\n",
"def set_powersave():\n",
" target.cpufreq.set_all_governors('powersave')\n",
"\n",
"def set_interactive():\n",
" target.cpufreq.set_all_governors('interactive')\n",
"\n",
"def set_sched():\n",
" target.cpufreq.set_all_governors('sched')\n",
"\n",
"def set_ondemand():\n",
" target.cpufreq.set_all_governors('ondemand')\n",
" \n",
" for cpu in target.list_online_cpus():\n",
" tunables = target.cpufreq.get_governor_tunables(cpu)\n",
" target.cpufreq.set_governor_tunables(\n",
" cpu,\n",
" 'ondemand',\n",
" **{'sampling_rate' : tunables['sampling_rate_min']}\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def experiment(wl, res_dir, conf_name, wload_name, collect=''):\n",
" \n",
" ##################################\n",
" # Initial setup\n",
"\n",
" # Load workload params\n",
" wload_kind = wload_name.split()[0]\n",
" iterations = int(wload_name.split()[1])\n",
" wload_tag = wload_name.split()[2]\\\n",
" .replace('https://youtu.be/', '')\\\n",
" .replace('?t=', '_')\n",
" \n",
" # Check for workload being available\n",
" wload = Workload.getInstance(te, wload_kind)\n",
" if not wload:\n",
" return {}\n",
" \n",
" # Setup test results folder\n",
" exp_dir = os.path.join(res_dir, conf_name, \"{}_{}\".format(wload_kind, wload_tag))\n",
" os.system('mkdir -p {}'.format(exp_dir));\n",
"\n",
" # Configure governor\n",
" confs[conf_name]['set']() \n",
" \n",
" ###########################\n",
" # Run the required workload\n",
" \n",
" # Jankbench\n",
" if 'Jankbench' in wload_name:\n",
" wload.run(exp_dir, wload_tag, iterations, collect)\n",
"\n",
" # UiBench\n",
" elif 'UiBench' in wload_name:\n",
" test_name = wload_name.split()[2]\n",
" duration_s = int(wload_name.split()[3])\n",
" wload.run(exp_dir, test_name, duration_s, collect)\n",
"\n",
" # YouTube\n",
" elif 'YouTube' in wload_name:\n",
" video_url = wload_name.split()[2]\n",
" video_duration_s = int(wload_name.split()[3])\n",
" wload.run(exp_dir, video_url, video_duration_s, collect)\n",
"\n",
" # RTApp based workloads\n",
" elif 'RTApp' in wload_name:\n",
" rtapp_kind = wload_name.replace('RTApp ', '')\n",
" rtapp_run(rtapp_kind)\n",
" \n",
" # Dump platform descriptor\n",
" te.platform_dump(exp_dir)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def run_experiments(test_confs, wloads, confs, verbose=False):\n",
"\n",
" # Make sure we have a list of configuraitons to test\n",
" if not isinstance(test_confs, list):\n",
" test_confs = [test_confs]\n",
"\n",
" # Intialize Workloads for this test environment\n",
" wl = Workload(te)\n",
"\n",
" # Change to info once the notebook runs ok\n",
" if verbose:\n",
" LisaLogging.setup(level=logging.DEBUG)\n",
" else:\n",
" LisaLogging.setup(level=logging.INFO)\n",
"\n",
" # Run the benchmark in all the configured configurations\n",
" for conf_name in test_confs:\n",
"\n",
" # Setup data to be collected\n",
" try:\n",
" collect = confs[conf_name]['collect']\n",
" logging.info(\"Enabling collection of: %s\", collect)\n",
" except:\n",
" collect = ''\n",
"\n",
" # Enable energy collection only if an emeter has been configured\n",
" if 'energy' in collect:\n",
" if 'emeter' not in my_conf or not te.emeter:\n",
" logging.warning('Disabling ENERGY collection')\n",
" logging.info('EMeter not configured or not available')\n",
" collect = collect.replace('energy', '')\n",
" else:\n",
" logging.debug('Enabling ENERGY collection')\n",
"\n",
" # Run each workload\n",
" idx = 0\n",
" for wload_name in wloads:\n",
" \n",
" # Skip workload if not enabled by the configuration\n",
" try:\n",
" enabled = False\n",
" enabled_workloads = confs[conf_name]['wloads']\n",
" for wload in enabled_workloads:\n",
" if wload in wload_name:\n",
" enabled = True\n",
" break\n",
" if not enabled:\n",
" logging.debug('Workload [%s] disabled',\n",
" wload_name)\n",
" continue\n",
" except:\n",
" # No workload filters defined, execute all workloads\n",
" logging.debug('All workloads enabled')\n",
" pass\n",
"\n",
" # Log test being executed\n",
" idx = idx + 1\n",
" wload_kind = wload_name.split()[0]\n",
" logging.info('------------------------')\n",
" logging.info('Test %d: %s in %s configuration',\n",
" idx, wload_kind.upper(), conf_name.upper())\n",
" logging.info(' %s', wload_name)\n",
" \n",
" experiment(wl, te.res_dir, conf_name, wload_name, collect)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Test environment setup\n",
"For more details on this please check out **examples/utils/testenv_example.ipynb**."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**devlib** requires the ANDROID_HOME environment variable configured to point to your local installation of the Android SDK. If you have not this variable configured in the shell used to start the notebook server, you need to run a cell to define where your Android SDK is installed or specify the ANDROID_HOME in your target configuration."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In case more than one Android device are conencted to the host, you must specify the ID of the device you want to target in **my_target_conf**. Run **adb devices** on your host to get the ID."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Setup target configuration\n",
"my_conf = {\n",
"\n",
" # Target platform and board\n",
" \"platform\" : 'android',\n",
" \"device\" : \"FA6A10306347\",\n",
" \"ANDROID_HOME\" : '/home/vagrant/lisa/tools/android-sdk-linux/',\n",
"\n",
" # Folder where all the results will be collected\n",
" \"results_dir\" : \"Android_Multiple_Workloads\",\n",
"\n",
" # Define devlib modules to load\n",
" \"modules\" : [\n",
" 'cpufreq' # enable CPUFreq support\n",
" ],\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_overutilized\",\n",
" \"sched_contrib_scale_f\",\n",
" \"sched_load_avg_cpu\",\n",
" \"sched_load_avg_task\",\n",
" \"sched_tune_tasks_update\",\n",
" \"sched_boost_cpu\",\n",
" \"sched_boost_task\",\n",
" \"sched_energy_diff\",\n",
" \"cpu_frequency\",\n",
" \"cpu_idle\",\n",
" \"cpu_capacity\",\n",
" ],\n",
" \"buffsize\" : 10 * 1024,\n",
" },\n",
"\n",
" # Tools required by the experiments\n",
" \"tools\" : [ 'trace-cmd' ],\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# List of possible workloads to run, each workload consists of a workload name\n",
"# followed by a list of workload specific parameters\n",
"test_wloads = [\n",
"# YouTube workload:\n",
"# Params:\n",
"# - iterations: number of read/write operations to execute\n",
"# - URL: link to the video to use (with optional start time)\n",
"# - duration: playback time in [s]\n",
" 'YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s 60',\n",
"\n",
"# Jankbench workload:\n",
"# Params:\n",
"# - iterations: number of read/write operations to execute\n",
"# - id: benchmakr to run\n",
" 'Jankbench 1 list_view',\n",
" 'Jankbench 1 image_list_view',\n",
" 'Jankbench 1 shadow_grid',\n",
" 'Jankbench 1 low_hitrate_text',\n",
" 'Jankbench 1 high_hitrate_text',\n",
" 'Jankbench 1 edit_text',\n",
" \n",
" # Multi iterations\n",
" 'Jankbench 3 list_view',\n",
" 'Jankbench 3 image_list_view',\n",
" 'Jankbench 3 shadow_grid',\n",
" 'Jankbench 3 low_hitrate_text',\n",
" 'Jankbench 3 high_hitrate_text',\n",
" 'Jankbench 3 edit_text',\n",
"\n",
"# UiBench workload:\n",
"# Params:\n",
"# - test_name: The name of the test to start\n",
"# - duration: playback time in [s]\n",
" 'UiBench 1 TrivialAnimationActivity 10',\n",
"\n",
"# RT-App workload:\n",
"# Params:\n",
"# - configration: tasks configuration to run\n",
"# - [configuration specific parameters]\n",
" 'RTApp STAccount 6',\n",
" 'RTApp RAMP',\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Available test configurations\n",
"# 'set' : a setup function to be called before starting the test\n",
"# 'collect' defines what we want to collect as a list of strings.\n",
"# Supported values are\n",
"# energy - Use the my_conf's defined emeter to measure energy consumption across experiments\n",
"# ftrace - Collect an execution trace using trace-cmd\n",
"# systrace - Collect an execution trace using Systrace/Atrace\n",
"# NOTE: energy is automatically enabled in case an \"emeter\" configuration is defined in my_conf\n",
"\n",
"confs = {\n",
" 'j_std' : {\n",
" 'set' : set_interactive,\n",
" 'wloads' : ['Jankbench 1 list_view'],\n",
" 'collect' : 'ftrace',\n",
" },\n",
" 'j_eas' : {\n",
" 'set' : set_sched,\n",
" 'wloads' : ['Jankbench 1 list_view'],\n",
" 'collect' : 'ftrace',\n",
" },\n",
" 'y_std' : {\n",
" 'set' : set_interactive,\n",
" 'wloads' : ['YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s'],\n",
" 'collect' : 'ftrace',\n",
" },\n",
" 'u_eas' : {\n",
" 'set' : set_sched,\n",
" 'wloads' : ['UiBench 1 TrivialAnimationActivity'],\n",
" 'collect' : 'systrace',\n",
" }\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# List of experiments to run\n",
"experiments = ['j_std', 'j_eas', 'y_std', 'u_eas']"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-03-14 11:05:12,767 INFO : TestEnv : Using base path: /home/vagrant/lisa\n",
"2017-03-14 11:05:12,767 INFO : TestEnv : Loading custom (inline) target configuration\n",
"2017-03-14 11:05:12,768 INFO : TestEnv : External tools using:\n",
"2017-03-14 11:05:12,769 INFO : TestEnv : ANDROID_HOME: /home/vagrant/lisa/tools/android-sdk-linux/\n",
"2017-03-14 11:05:12,769 INFO : TestEnv : CATAPULT_HOME: /home/vagrant/lisa/tools/catapult\n",
"2017-03-14 11:05:12,770 INFO : TestEnv : Devlib modules to load: ['cpufreq']\n",
"2017-03-14 11:05:12,770 INFO : TestEnv : Connecting Android target [FA6A10306347]\n",
"2017-03-14 11:05:12,770 INFO : TestEnv : Connection settings:\n",
"2017-03-14 11:05:12,771 INFO : TestEnv : {'device': 'FA6A10306347'}\n",
"2017-03-14 11:05:12,914 INFO : android : ls command is set to ls -1\n",
"2017-03-14 11:05:13,430 INFO : TestEnv : Initializing target workdir:\n",
"2017-03-14 11:05:13,431 INFO : TestEnv : /data/local/tmp/devlib-target\n",
"2017-03-14 11:05:14,701 INFO : TestEnv : Topology:\n",
"2017-03-14 11:05:14,702 INFO : TestEnv : [[0, 1], [2, 3]]\n",
"2017-03-14 11:05:15,291 INFO : TestEnv : Enabled tracepoints:\n",
"2017-03-14 11:05:15,292 INFO : TestEnv : sched_switch\n",
"2017-03-14 11:05:15,292 INFO : TestEnv : sched_overutilized\n",
"2017-03-14 11:05:15,293 INFO : TestEnv : sched_contrib_scale_f\n",
"2017-03-14 11:05:15,293 INFO : TestEnv : sched_load_avg_cpu\n",
"2017-03-14 11:05:15,294 INFO : TestEnv : sched_load_avg_task\n",
"2017-03-14 11:05:15,294 INFO : TestEnv : sched_tune_tasks_update\n",
"2017-03-14 11:05:15,295 INFO : TestEnv : sched_boost_cpu\n",
"2017-03-14 11:05:15,295 INFO : TestEnv : sched_boost_task\n",
"2017-03-14 11:05:15,295 INFO : TestEnv : sched_energy_diff\n",
"2017-03-14 11:05:15,296 INFO : TestEnv : cpu_frequency\n",
"2017-03-14 11:05:15,296 INFO : TestEnv : cpu_idle\n",
"2017-03-14 11:05:15,297 INFO : TestEnv : cpu_capacity\n",
"2017-03-14 11:05:15,297 INFO : TestEnv : Set results folder to:\n",
"2017-03-14 11:05:15,298 INFO : TestEnv : /home/vagrant/lisa/results/Android_Multiple_Workloads\n",
"2017-03-14 11:05:15,298 INFO : TestEnv : Experiment results available also in:\n",
"2017-03-14 11:05:15,299 INFO : TestEnv : /home/vagrant/lisa/results_latest\n"
]
}
],
"source": [
"# Initialize a test environment using:\n",
"te = TestEnv(my_conf, wipe=False)\n",
"target = te.target"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Workloads Execution and Data Collection"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2017-03-14 11:05:17,641 INFO : root : Using LISA logging configuration:\n",
"2017-03-14 11:05:17,642 INFO : root : /home/vagrant/lisa/logging.conf\n",
"2017-03-14 11:05:17,642 INFO : root : Enabling collection of: ftrace\n",
"2017-03-14 11:05:17,643 DEBUG : root : Workload [YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s 60] disabled\n",
"2017-03-14 11:05:17,643 INFO : root : ------------------------\n",
"2017-03-14 11:05:17,644 INFO : root : Test 1: JANKBENCH in J_STD configuration\n",
"2017-03-14 11:05:17,645 INFO : root : Jankbench 1 list_view\n",
"2017-03-14 11:05:18,248 INFO : Workload : Supported workloads available on target:\n",
"2017-03-14 11:05:18,249 INFO : Workload : jankbench, youtube, geekbench, uibench, gmaps, vellamo\n",
"2017-03-14 11:05:18,250 DEBUG : Jankbench : Workload created\n",
"2017-03-14 11:05:22,760 INFO : Screen : Set brightness: 0%\n",
"2017-03-14 11:05:22,761 INFO : Screen : Force manual orientation\n",
"2017-03-14 11:05:22,763 INFO : Screen : Set orientation: PORTRAIT\n",
"2017-03-14 11:05:23,610 DEBUG : Jankbench : Start Jank Benchmark [0:list_view]\n",
"2017-03-14 11:05:23,610 INFO : Jankbench : am start -n \"com.android.benchmark/.app.RunLocalBenchmarksActivity\" --eia \"com.android.benchmark.EXTRA_ENABLED_BENCHMARK_IDS\" 0 --ei \"com.android.benchmark.EXTRA_RUN_COUNT\" 1\n",
"2017-03-14 11:05:23,992 INFO : Jankbench : adb -s FA6A10306347 logcat ActivityManager:* System.out:I *:S BENCH:*\n",
"2017-03-14 11:05:23,994 DEBUG : Jankbench : Iterations:\n",
"2017-03-14 11:05:24,047 INFO : Jankbench : FTrace START\n",
"2017-03-14 11:05:25,177 DEBUG : Jankbench : Benchmark started!\n",
"2017-03-14 11:05:25,178 DEBUG : Jankbench : Iteration 1:\n",
"2017-03-14 11:05:58,847 INFO : Jankbench : Mean: 27.681 JankP: 0.061 StdDev: 23.413 Count Bad: 3 Count Jank: 1\n",
"2017-03-14 11:05:59,890 DEBUG : Jankbench : Benchmark done!\n",
"2017-03-14 11:06:00,002 INFO : Jankbench : FTrace STOP\n",
"2017-03-14 11:06:04,833 INFO : Screen : Set orientation: AUTO\n",
"2017-03-14 11:06:06,981 INFO : Screen : Set brightness: AUTO\n",
"2017-03-14 11:06:06,982 DEBUG : root : Workload [Jankbench 1 image_list_view] disabled\n",
"2017-03-14 11:06:06,983 DEBUG : root : Workload [Jankbench 1 shadow_grid] disabled\n",
"2017-03-14 11:06:06,983 DEBUG : root : Workload [Jankbench 1 low_hitrate_text] disabled\n",
"2017-03-14 11:06:06,984 DEBUG : root : Workload [Jankbench 1 high_hitrate_text] disabled\n",
"2017-03-14 11:06:06,984 DEBUG : root : Workload [Jankbench 1 edit_text] disabled\n",
"2017-03-14 11:06:06,984 DEBUG : root : Workload [Jankbench 3 list_view] disabled\n",
"2017-03-14 11:06:06,985 DEBUG : root : Workload [Jankbench 3 image_list_view] disabled\n",
"2017-03-14 11:06:06,985 DEBUG : root : Workload [Jankbench 3 shadow_grid] disabled\n",
"2017-03-14 11:06:06,986 DEBUG : root : Workload [Jankbench 3 low_hitrate_text] disabled\n",
"2017-03-14 11:06:06,986 DEBUG : root : Workload [Jankbench 3 high_hitrate_text] disabled\n",
"2017-03-14 11:06:06,987 DEBUG : root : Workload [Jankbench 3 edit_text] disabled\n",
"2017-03-14 11:06:06,987 DEBUG : root : Workload [UiBench 1 TrivialAnimationActivity 10] disabled\n",
"2017-03-14 11:06:06,987 DEBUG : root : Workload [RTApp STAccount 6] disabled\n",
"2017-03-14 11:06:06,988 DEBUG : root : Workload [RTApp RAMP] disabled\n",
"2017-03-14 11:06:06,988 INFO : root : Enabling collection of: ftrace\n",
"2017-03-14 11:06:06,989 DEBUG : root : Workload [YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s 60] disabled\n",
"2017-03-14 11:06:06,989 INFO : root : ------------------------\n",
"2017-03-14 11:06:06,989 INFO : root : Test 1: JANKBENCH in J_EAS configuration\n",
"2017-03-14 11:06:06,990 INFO : root : Jankbench 1 list_view\n",
"2017-03-14 11:06:06,990 DEBUG : Jankbench : Workload created\n",
"2017-03-14 11:06:10,964 INFO : Screen : Set brightness: 0%\n",
"2017-03-14 11:06:10,966 INFO : Screen : Force manual orientation\n",
"2017-03-14 11:06:10,966 INFO : Screen : Set orientation: PORTRAIT\n",
"2017-03-14 11:06:11,776 DEBUG : Jankbench : Start Jank Benchmark [0:list_view]\n",
"2017-03-14 11:06:11,777 INFO : Jankbench : am start -n \"com.android.benchmark/.app.RunLocalBenchmarksActivity\" --eia \"com.android.benchmark.EXTRA_ENABLED_BENCHMARK_IDS\" 0 --ei \"com.android.benchmark.EXTRA_RUN_COUNT\" 1\n",
"2017-03-14 11:06:12,241 INFO : Jankbench : adb -s FA6A10306347 logcat ActivityManager:* System.out:I *:S BENCH:*\n",
"2017-03-14 11:06:12,242 DEBUG : Jankbench : Iterations:\n",
"2017-03-14 11:06:12,305 INFO : Jankbench : FTrace START\n",
"2017-03-14 11:06:13,552 DEBUG : Jankbench : Benchmark started!\n",
"2017-03-14 11:06:13,553 DEBUG : Jankbench : Iteration 1:\n",
"2017-03-14 11:06:47,377 INFO : Jankbench : Mean: 38.852 JankP: 0.061 StdDev: 40.832 Count Bad: 3 Count Jank: 1\n",
"2017-03-14 11:06:48,464 DEBUG : Jankbench : Benchmark done!\n",
"2017-03-14 11:06:48,645 INFO : Jankbench : FTrace STOP\n",
"2017-03-14 11:06:54,096 INFO : Screen : Set orientation: AUTO\n",
"2017-03-14 11:06:57,305 INFO : Screen : Set brightness: AUTO\n",
"2017-03-14 11:06:57,306 DEBUG : root : Workload [Jankbench 1 image_list_view] disabled\n",
"2017-03-14 11:06:57,307 DEBUG : root : Workload [Jankbench 1 shadow_grid] disabled\n",
"2017-03-14 11:06:57,307 DEBUG : root : Workload [Jankbench 1 low_hitrate_text] disabled\n",
"2017-03-14 11:06:57,308 DEBUG : root : Workload [Jankbench 1 high_hitrate_text] disabled\n",
"2017-03-14 11:06:57,308 DEBUG : root : Workload [Jankbench 1 edit_text] disabled\n",
"2017-03-14 11:06:57,309 DEBUG : root : Workload [Jankbench 3 list_view] disabled\n",
"2017-03-14 11:06:57,309 DEBUG : root : Workload [Jankbench 3 image_list_view] disabled\n",
"2017-03-14 11:06:57,309 DEBUG : root : Workload [Jankbench 3 shadow_grid] disabled\n",
"2017-03-14 11:06:57,310 DEBUG : root : Workload [Jankbench 3 low_hitrate_text] disabled\n",
"2017-03-14 11:06:57,310 DEBUG : root : Workload [Jankbench 3 high_hitrate_text] disabled\n",
"2017-03-14 11:06:57,311 DEBUG : root : Workload [Jankbench 3 edit_text] disabled\n",
"2017-03-14 11:06:57,311 DEBUG : root : Workload [UiBench 1 TrivialAnimationActivity 10] disabled\n",
"2017-03-14 11:06:57,312 DEBUG : root : Workload [RTApp STAccount 6] disabled\n",
"2017-03-14 11:06:57,312 DEBUG : root : Workload [RTApp RAMP] disabled\n",
"2017-03-14 11:06:57,313 INFO : root : Enabling collection of: ftrace\n",
"2017-03-14 11:06:57,313 INFO : root : ------------------------\n",
"2017-03-14 11:06:57,313 INFO : root : Test 1: YOUTUBE in Y_STD configuration\n",
"2017-03-14 11:06:57,314 INFO : root : YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s 60\n",
"2017-03-14 11:06:57,315 DEBUG : YouTube : Workload created\n",
"2017-03-14 11:06:58,842 INFO : Screen : Force manual orientation\n",
"2017-03-14 11:06:58,843 INFO : Screen : Set orientation: LANDSCAPE\n",
"2017-03-14 11:07:00,540 INFO : Screen : Set brightness: 0%\n",
"2017-03-14 11:07:03,003 INFO : YouTube : FTrace START\n",
"2017-03-14 11:07:05,037 INFO : YouTube : Play video for 60 [s]\n",
"2017-03-14 11:08:05,226 INFO : YouTube : FTrace STOP\n",
"2017-03-14 11:08:09,174 INFO : Screen : Set orientation: AUTO\n",
"2017-03-14 11:08:10,336 INFO : Screen : Set brightness: AUTO\n",
"2017-03-14 11:08:10,337 DEBUG : root : Workload [Jankbench 1 list_view] disabled\n",
"2017-03-14 11:08:10,338 DEBUG : root : Workload [Jankbench 1 image_list_view] disabled\n",
"2017-03-14 11:08:10,338 DEBUG : root : Workload [Jankbench 1 shadow_grid] disabled\n",
"2017-03-14 11:08:10,338 DEBUG : root : Workload [Jankbench 1 low_hitrate_text] disabled\n",
"2017-03-14 11:08:10,339 DEBUG : root : Workload [Jankbench 1 high_hitrate_text] disabled\n",
"2017-03-14 11:08:10,339 DEBUG : root : Workload [Jankbench 1 edit_text] disabled\n",
"2017-03-14 11:08:10,340 DEBUG : root : Workload [Jankbench 3 list_view] disabled\n",
"2017-03-14 11:08:10,340 DEBUG : root : Workload [Jankbench 3 image_list_view] disabled\n",
"2017-03-14 11:08:10,340 DEBUG : root : Workload [Jankbench 3 shadow_grid] disabled\n",
"2017-03-14 11:08:10,341 DEBUG : root : Workload [Jankbench 3 low_hitrate_text] disabled\n",
"2017-03-14 11:08:10,341 DEBUG : root : Workload [Jankbench 3 high_hitrate_text] disabled\n",
"2017-03-14 11:08:10,342 DEBUG : root : Workload [Jankbench 3 edit_text] disabled\n",
"2017-03-14 11:08:10,342 DEBUG : root : Workload [UiBench 1 TrivialAnimationActivity 10] disabled\n",
"2017-03-14 11:08:10,342 DEBUG : root : Workload [RTApp STAccount 6] disabled\n",
"2017-03-14 11:08:10,343 DEBUG : root : Workload [RTApp RAMP] disabled\n",
"2017-03-14 11:08:10,343 INFO : root : Enabling collection of: systrace\n",
"2017-03-14 11:08:10,344 DEBUG : root : Workload [YouTube 1 https://youtu.be/XSGBVzeBUbk?t=45s 60] disabled\n",
"2017-03-14 11:08:10,344 DEBUG : root : Workload [Jankbench 1 list_view] disabled\n",
"2017-03-14 11:08:10,345 DEBUG : root : Workload [Jankbench 1 image_list_view] disabled\n",
"2017-03-14 11:08:10,345 DEBUG : root : Workload [Jankbench 1 shadow_grid] disabled\n",
"2017-03-14 11:08:10,345 DEBUG : root : Workload [Jankbench 1 low_hitrate_text] disabled\n",
"2017-03-14 11:08:10,346 DEBUG : root : Workload [Jankbench 1 high_hitrate_text] disabled\n",
"2017-03-14 11:08:10,346 DEBUG : root : Workload [Jankbench 1 edit_text] disabled\n",
"2017-03-14 11:08:10,346 DEBUG : root : Workload [Jankbench 3 list_view] disabled\n",
"2017-03-14 11:08:10,347 DEBUG : root : Workload [Jankbench 3 image_list_view] disabled\n",
"2017-03-14 11:08:10,347 DEBUG : root : Workload [Jankbench 3 shadow_grid] disabled\n",
"2017-03-14 11:08:10,348 DEBUG : root : Workload [Jankbench 3 low_hitrate_text] disabled\n",
"2017-03-14 11:08:10,348 DEBUG : root : Workload [Jankbench 3 high_hitrate_text] disabled\n",
"2017-03-14 11:08:10,349 DEBUG : root : Workload [Jankbench 3 edit_text] disabled\n",
"2017-03-14 11:08:10,349 INFO : root : ------------------------\n",
"2017-03-14 11:08:10,349 INFO : root : Test 1: UIBENCH in U_EAS configuration\n",
"2017-03-14 11:08:10,350 INFO : root : UiBench 1 TrivialAnimationActivity 10\n",
"2017-03-14 11:08:10,350 DEBUG : UiBench : Workload created\n",
"2017-03-14 11:08:15,709 INFO : Screen : Set brightness: 0%\n",
"2017-03-14 11:08:16,376 INFO : Screen : Force manual orientation\n",
"2017-03-14 11:08:16,376 INFO : Screen : Set orientation: PORTRAIT\n",
"2017-03-14 11:08:18,614 DEBUG : UiBench : START string [ActivityManager: START.*cmp=com.android.test.uibench/.TrivialAnimationActivity]\n",
"2017-03-14 11:08:18,615 INFO : UiBench : adb -s FA6A10306347 logcat ActivityManager:* System.out:I *:S BENCH:*\n",
"2017-03-14 11:08:19,125 WARNING : UiBench : Systrace time NOT defined, tracing for 10[s]\n",
"2017-03-14 11:08:19,126 INFO : UiBench : Systrace START\n",
"2017-03-14 11:08:19,126 INFO : System : SysTrace: /home/vagrant/lisa/tools/catapult/systrace/systrace/run_systrace.py -e FA6A10306347 -o /home/vagrant/lisa/results/Android_Multiple_Workloads/u_eas/UiBench_TrivialAnimationActivity/trace.html gfx view sched freq idle -t 10\n",
"2017-03-14 11:08:19,132 DEBUG : UiBench : Benchmark started!\n",
"2017-03-14 11:08:19,133 INFO : UiBench : Benchmark [.TrivialAnimationActivity] started, waiting 10 [s]\n",
"2017-03-14 11:08:29,140 DEBUG : UiBench : Benchmark done!\n",
"2017-03-14 11:08:29,141 INFO : UiBench : Waiting systrace report [/home/vagrant/lisa/results/Android_Multiple_Workloads/u_eas/UiBench_TrivialAnimationActivity/trace.html]...\n",
"2017-03-14 11:08:37,315 INFO : Screen : Set orientation: AUTO\n",
"2017-03-14 11:08:39,617 INFO : Screen : Set brightness: AUTO\n",
"2017-03-14 11:08:39,718 DEBUG : root : Workload [RTApp STAccount 6] disabled\n",
"2017-03-14 11:08:39,719 DEBUG : root : Workload [RTApp RAMP] disabled\n"
]
}
],
"source": [
"run_experiments(experiments, test_wloads, confs, True)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home/vagrant/lisa/results/Android_Multiple_Workloads\r\n",
"├── j_eas\r\n",
"│   └── Jankbench_list_view\r\n",
"│   ├── BenchmarkResults\r\n",
"│   ├── platform.json\r\n",
"│   └── trace.dat\r\n",
"├── j_std\r\n",
"│   └── Jankbench_list_view\r\n",
"│   ├── BenchmarkResults\r\n",
"│   ├── platform.json\r\n",
"│   └── trace.dat\r\n",
"├── u_eas\r\n",
"│   └── UiBench_TrivialAnimationActivity\r\n",
"│   ├── framestats.txt\r\n",
"│   ├── platform.json\r\n",
"│   └── trace.html\r\n",
"└── y_std\r\n",
" └── YouTube_XSGBVzeBUbk_45s\r\n",
" ├── framestats.txt\r\n",
" ├── platform.json\r\n",
" └── trace.dat\r\n",
"\r\n",
"8 directories, 12 files\r\n"
]
}
],
"source": [
"!tree {te.res_dir}"
]
}
],
"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": false
}
},
"nbformat": 4,
"nbformat_minor": 0
}