Merge pull request #93 from mdigiorgio/android-wloads
Android wloads
diff --git a/ipynb/android/benchmarks/Android_PCMark.ipynb b/ipynb/android/benchmarks/Android_PCMark.ipynb
index 8cbd136..fc39e0f 100644
--- a/ipynb/android/benchmarks/Android_PCMark.ipynb
+++ b/ipynb/android/benchmarks/Android_PCMark.ipynb
@@ -289,7 +289,7 @@
" # Unlock device screen (assume no password required)\n",
" target.execute('input keyevent 82')\n",
" # Start PCMark on the target device\n",
- " target.execute('am start -n com.futuremark.pcmark.android.benchmark/com.futuremark.gypsum.activity.WebViewMainActivity')\n",
+ " target.execute('monkey -p com.futuremark.pcmark.android.benchmark -c android.intent.category.LAUNCHER 1')\n",
" # Wait few seconds to make sure the app is loaded\n",
" sleep(5)\n",
" \n",
diff --git a/ipynb/android/workloads/Android_Recents_Fling.ipynb b/ipynb/android/workloads/Android_Recents_Fling.ipynb
index 6a9e614..652726a 100644
--- a/ipynb/android/workloads/Android_Recents_Fling.ipynb
+++ b/ipynb/android/workloads/Android_Recents_Fling.ipynb
@@ -167,24 +167,26 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "2016-04-12 15:13:56,738 INFO : Target - Using base path: /home/pippo/work/lisa\n",
- "2016-04-12 15:13:56,740 INFO : Target - Loading custom (inline) target configuration\n",
- "2016-04-12 15:13:56,740 INFO : Target - Loading custom (inline) test configuration\n",
- "2016-04-12 15:13:56,741 INFO : Target - Devlib modules to load: ['bl', 'cpufreq']\n",
- "2016-04-12 15:13:56,742 INFO : Target - Connecting Android target [DEFAULT]\n",
- "2016-04-12 15:13:57,210 INFO : Target - Initializing target workdir:\n",
- "2016-04-12 15:13:57,211 INFO : Target - /data/local/tmp/devlib-target\n",
- "2016-04-12 15:13:59,578 INFO : Target - Topology:\n",
- "2016-04-12 15:13:59,579 INFO : Target - [[0, 1, 2, 3], [4, 5]]\n",
- "2016-04-12 15:14:00,205 INFO : FTrace - Enabled tracepoints:\n",
- "2016-04-12 15:14:00,206 INFO : FTrace - sched_switch\n",
- "2016-04-12 15:14:00,207 INFO : FTrace - sched_load_avg_cpu\n",
- "2016-04-12 15:14:00,208 INFO : FTrace - cpu_frequency\n",
- "2016-04-12 15:14:00,208 INFO : FTrace - cpu_capacity\n",
- "2016-04-12 15:14:00,209 INFO : TestEnv - Set results folder to:\n",
- "2016-04-12 15:14:00,210 INFO : TestEnv - /home/pippo/work/lisa/results/Android_RecentsFling\n",
- "2016-04-12 15:14:00,211 INFO : TestEnv - Experiment results available also in:\n",
- "2016-04-12 15:14:00,211 INFO : TestEnv - /home/pippo/work/lisa/results_latest\n"
+ "2016-04-25 17:12:19,000 INFO : Target - Using base path: /home/pippo/work/lisa\n",
+ "2016-04-25 17:12:19,001 INFO : Target - Loading custom (inline) target configuration\n",
+ "2016-04-25 17:12:19,001 INFO : Target - Loading custom (inline) test configuration\n",
+ "2016-04-25 17:12:19,001 INFO : Target - Devlib modules to load: ['bl', 'cpufreq']\n",
+ "2016-04-25 17:12:19,002 INFO : Target - Connecting Android target [DEFAULT]\n",
+ "2016-04-25 17:12:19,380 INFO : Target - Initializing target workdir:\n",
+ "2016-04-25 17:12:19,381 INFO : Target - /data/local/tmp/devlib-target\n",
+ "2016-04-25 17:12:21,581 INFO : Target - Topology:\n",
+ "2016-04-25 17:12:21,582 INFO : Target - [[0, 1, 2, 3], [4, 5]]\n",
+ "2016-04-25 17:12:22,699 INFO : FTrace - Enabled tracepoints:\n",
+ "2016-04-25 17:12:22,701 INFO : FTrace - sched_switch\n",
+ "2016-04-25 17:12:22,701 INFO : FTrace - sched_load_avg_cpu\n",
+ "2016-04-25 17:12:22,702 INFO : FTrace - cpu_frequency\n",
+ "2016-04-25 17:12:22,703 INFO : FTrace - cpu_capacity\n",
+ "2016-04-25 17:12:22,703 WARNING : TestEnv - Wipe previous contents of the results folder:\n",
+ "2016-04-25 17:12:22,704 WARNING : TestEnv - /home/pippo/work/lisa/results/Android_RecentsFling\n",
+ "2016-04-25 17:12:22,725 INFO : TestEnv - Set results folder to:\n",
+ "2016-04-25 17:12:22,725 INFO : TestEnv - /home/pippo/work/lisa/results/Android_RecentsFling\n",
+ "2016-04-25 17:12:22,726 INFO : TestEnv - Experiment results available also in:\n",
+ "2016-04-25 17:12:22,726 INFO : TestEnv - /home/pippo/work/lisa/results_latest\n"
]
}
],
@@ -286,6 +288,39 @@
},
"outputs": [],
"source": [
+ "def open_apps(n):\n",
+ " \"\"\"\n",
+ " Open `n` apps on the device\n",
+ " \n",
+ " :param n: number of apps to open\n",
+ " :type n: int\n",
+ " \"\"\"\n",
+ " # Get a list of third-party packages\n",
+ " packages = target.execute('pm list packages -3 | cut -d: -f 2')\n",
+ " packages = packages.split('\\r\\n')\n",
+ " # Remove empty string\n",
+ " packages.pop()\n",
+ " \n",
+ " LAUNCH_CMD = 'monkey -p {} -c android.intent.category.LAUNCHER 1 '\n",
+ " \n",
+ " if n > len(packages):\n",
+ " n = len(packages)\n",
+ " \n",
+ " logging.info('Opening {} apps...'.format(n))\n",
+ " for app in packages[:n]:\n",
+ " logging.debug(' Launching {}'.format(app))\n",
+ " target.execute(LAUNCH_CMD.format(app))\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
"def recentsfling_run(exp_dir):\n",
" # Open Recents on the target device\n",
" target.execute('input keyevent KEYCODE_APP_SWITCH')\n",
@@ -316,7 +351,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -361,12 +396,59 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Run experiments and collect traces"
+ "# Run Flinger"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Prepare Environment"
]
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "N_APPS = 10"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2016-04-25 17:12:23,896 INFO : Opening 10 apps...\n"
+ ]
+ }
+ ],
+ "source": [
+ "open_apps(N_APPS)\n",
+ "\n",
+ "# Give apps enough time to open\n",
+ "sleep(5)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Run workload and collect traces"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -376,20 +458,20 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "2016-04-12 15:14:07,112 INFO : ------------------------\n",
- "2016-04-12 15:14:07,113 INFO : Run workload using performance governor\n",
- "2016-04-12 15:14:14,452 INFO : Start Swiping Recents\n",
- "2016-04-12 15:14:38,443 INFO : Swiping Recents Completed\n",
- "2016-04-12 15:14:44,128 INFO : Parsing FTrace format...\n",
- "2016-04-12 15:14:51,841 INFO : Collected events spans a 30.689 [s] time interval\n",
- "2016-04-12 15:14:51,842 INFO : Set plots time range to (0.000000, 30.688793)[s]\n",
- "2016-04-12 15:14:52,761 INFO : ------------------------\n",
- "2016-04-12 15:14:52,761 INFO : Run workload using interactive governor\n",
- "2016-04-12 15:15:00,321 INFO : Start Swiping Recents\n",
- "2016-04-12 15:15:25,884 INFO : Swiping Recents Completed\n",
- "2016-04-12 15:15:33,608 INFO : Parsing FTrace format...\n",
- "2016-04-12 15:15:41,310 INFO : Collected events spans a 32.681 [s] time interval\n",
- "2016-04-12 15:15:41,310 INFO : Set plots time range to (0.000000, 32.681148)[s]\n"
+ "2016-04-25 17:12:30,603 INFO : ------------------------\n",
+ "2016-04-25 17:12:30,604 INFO : Run workload using performance governor\n",
+ "2016-04-25 17:12:39,662 INFO : Start Swiping Recents\n",
+ "2016-04-25 17:13:03,456 INFO : Swiping Recents Completed\n",
+ "2016-04-25 17:13:10,416 INFO : Parsing FTrace format...\n",
+ "2016-04-25 17:13:20,811 INFO : Collected events spans a 31.152 [s] time interval\n",
+ "2016-04-25 17:13:20,812 INFO : Set plots time range to (0.000000, 31.152401)[s]\n",
+ "2016-04-25 17:13:21,974 INFO : ------------------------\n",
+ "2016-04-25 17:13:21,974 INFO : Run workload using interactive governor\n",
+ "2016-04-25 17:13:29,693 INFO : Start Swiping Recents\n",
+ "2016-04-25 17:13:56,598 INFO : Swiping Recents Completed\n",
+ "2016-04-25 17:14:05,800 INFO : Parsing FTrace format...\n",
+ "2016-04-25 17:14:13,393 INFO : Collected events spans a 34.177 [s] time interval\n",
+ "2016-04-25 17:14:13,394 INFO : Set plots time range to (0.000000, 34.177226)[s]\n"
]
}
],
@@ -415,7 +497,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 14,
"metadata": {
"collapsed": false
},
@@ -425,20 +507,20 @@
"output_type": "stream",
"text": [
"Frame Statistics for PERFORMANCE governor\n",
- "Stats since: 26524169207ns\n",
- "Total frames rendered: 10425\n",
- "Janky frames: 1175 (11.27%)\n",
- "90th percentile: 18ms\n",
- "95th percentile: 24ms\n",
- "99th percentile: 40ms\n",
+ "Stats since: 37304374100ns\n",
+ "Total frames rendered: 216625\n",
+ "Janky frames: 39887 (18.41%)\n",
+ "90th percentile: 22ms\n",
+ "95th percentile: 27ms\n",
+ "99th percentile: 48ms\n",
"\n",
"Frame Statistics for INTERACTIVE governor\n",
- "Stats since: 26524169207ns\n",
- "Total frames rendered: 11673\n",
- "Janky frames: 1265 (10.84%)\n",
- "90th percentile: 17ms\n",
- "95th percentile: 24ms\n",
- "99th percentile: 40ms\n",
+ "Stats since: 37304374100ns\n",
+ "Total frames rendered: 217740\n",
+ "Janky frames: 39945 (18.35%)\n",
+ "90th percentile: 22ms\n",
+ "95th percentile: 27ms\n",
+ "99th percentile: 48ms\n",
"\n"
]
}