Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(968)

Unified Diff: platform_tools/android/bin/android_perf

Issue 22617002: Update Skia Android tools. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: more fixes to make the bots happy Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « platform_tools/android/bin/android_make ('k') | platform_tools/android/bin/android_run_skia » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: platform_tools/android/bin/android_perf
diff --git a/platform_tools/android/bin/android_perf b/platform_tools/android/bin/android_perf
old mode 100644
new mode 100755
index 5e4b7c8b7a1d2da83990c8f5d3b05988383bd078..58e43202a44f272a4d1984382e0e3678e10fdb36
--- a/platform_tools/android/bin/android_perf
+++ b/platform_tools/android/bin/android_perf
@@ -9,8 +9,7 @@
#
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-PERF_CMD=$1
-
+source $SCRIPT_DIR/android_setup.sh
source $SCRIPT_DIR/utils/setup_adb.sh
if [ $(uname) == "Linux" ]; then
@@ -22,77 +21,70 @@ else
exit 1;
fi
+# grab and remove the perf command from the input args
+PERF_CMD=${APP_ARGS[0]}
+unset APP_ARGS[0]
+
+configuration="Debug"
+
+for arg in ${APP_ARGS[@]}
+do
+ if [[ "${arg}" == "--release" ]];
+ then
+ configuration="Release"
+ else
+ echo "${arg}"
+ runVars=("${runVars[@]}" "${arg}")
+ fi
+
+shift
+done
+
# We need the debug symbols from these files
PERF_TMP_DIR=$(pwd)/android_perf_tmp
TMP_SYS_BIN=$PERF_TMP_DIR/system/bin
TMP_SYS_LIB=$PERF_TMP_DIR/system/lib
-TMP_APP_LIB=$PERF_TMP_DIR/data/data/com.skia/lib
+TMP_APP_LOC=$PERF_TMP_DIR/data/local/tmp
perf_setup() {
mkdir -p $TMP_SYS_BIN
mkdir -p $TMP_SYS_LIB
- mkdir -p $TMP_APP_LIB
+ mkdir -p $TMP_APP_LOC
- # setup symlinks to account for perf potentially looking elsewhere
- mkdir -p $PERF_TMP_DIR/data/app-lib
- $( cd $PERF_TMP_DIR/data/app-lib && ln -s ../data/com.skia/lib com.skia-1)
- $( cd $PERF_TMP_DIR/data/app-lib && ln -s ../data/com.skia/lib com.skia-2)
-
echo "Copying symbol files"
- $ADB pull /system/bin/skia_launcher $TMP_SYS_BIN
- $ADB pull /system/lib/libc.so $TMP_SYS_LIB
- $ADB pull /system/lib/libstlport.so $TMP_SYS_LIB
- $ADB pull /system/lib/libcutils.so $TMP_SYS_LIB
- $ADB pull /system/lib/libGLESv2.so $TMP_SYS_LIB
- $ADB pull /system/lib/libandroid.so $TMP_SYS_LIB
- $ADB pull /system/lib/libm.so $TMP_SYS_LIB
- $ADB pull /system/lib/libz.so $TMP_SYS_LIB
-
- if [ $# -ge 2 ]
+ adb_pull_if_needed /system/lib/libc.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libstlport.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libcutils.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libGLESv2.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libandroid.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libm.so $TMP_SYS_LIB
+ adb_pull_if_needed /system/lib/libz.so $TMP_SYS_LIB
+
+ if [ ! -f "${SKIA_OUT}/${configuration}/lib.target/lib${runVars[0]}.so" ];
then
- APP_NAME=$(basename $2)
- $ADB pull /data/data/com.skia/lib/lib${APP_NAME}.so $TMP_APP_LIB
- else
- $ADB pull /data/data/com.skia/lib/ $TMP_APP_LIB
+ echo "Unable to find the ${runVars[0]} library"
+ exit 1
fi
-
+ echo "Pushing app..."
+ adb_push_if_needed "${SKIA_OUT}/${configuration}/skia_launcher" /data/local/tmp
+ adb_push_if_needed "${SKIA_OUT}/${configuration}/lib.target/libskia_android.so" /data/local/tmp
+ adb_push_if_needed "${SKIA_OUT}/${configuration}/lib.target/lib${runVars[0]}.so" /data/local/tmp
+
+ cp "${SKIA_OUT}/${configuration}/skia_launcher" $TMP_APP_LOC
+ cp "${SKIA_OUT}/${configuration}/lib.target/libskia_android.so" $TMP_APP_LOC
+ cp "${SKIA_OUT}/${configuration}/lib.target/lib${runVars[0]}.so" $TMP_APP_LOC
}
perf_record() {
- APP_NAME=$(basename $2)
- # Collect extra arguments to be passed to the skia_launcher binary
- shift # perf_cmd
- shift # app_name
- while (( "$#" )); do
- APP_ARGS="$APP_ARGS $1"
- shift
- done
-
- echo "Checking for skia_launcher app..."
- if [ ! -f $TMP_SYS_BIN/skia_launcher ]
- then
- echo "Unable to find the skia_launcher on the device"
- rm -rf $PERF_TMP_DIR
- exit 1;
- fi
-
- echo "Checking for $APP_NAME library..."
- if [ ! -f $TMP_APP_LIB/lib$APP_NAME.so ]
- then
- echo "Unable to find the app's shared library on the device"
- rm -rf $PERF_TMP_DIR
- exit 1;
- fi
-
echo "Killing any running Skia processes."
$ADB shell ps | grep skia_launcher | awk '{print $2}' | xargs $ADB shell kill
echo "Starting application"
- $ADB shell skia_launcher $APP_NAME $APP_ARGS &
+ $ADB shell /data/local/tmp/skia_launcher ${runVars[@]} &
# WE REALLY REALLY WANT TO BE ABLE TO PASS THE SKIA_LAUNCHER APP DIRECTLY TO
# PERF, BUT AT THIS POINT THE DATA FILE WE GET WHEN GOING THAT ROUTE IS UNABLE
@@ -107,13 +99,8 @@ perf_record() {
}
perf_report() {
- # Collect extra arguments to be passed to the perfhost binary
- while (( "$#" )); do
- APP_ARGS="$APP_ARGS $1"
- shift
- done
-
- $PERFHOST report -i $PERF_TMP_DIR/perf.data --symfs=$PERF_TMP_DIR $APP_ARGS
+ adb_pull_if_needed /data/perf.data $PERF_TMP_DIR/perf.data
+ $PERFHOST report -i $PERF_TMP_DIR/perf.data --symfs=$PERF_TMP_DIR ${runVars[@]}
}
# Clean up
@@ -123,11 +110,11 @@ perf_clean() {
case $PERF_CMD in
setup)
- perf_setup $@
+ perf_setup ${runVars[@]}
;;
record)
- perf_setup $@
- perf_record $@
+ perf_setup ${runVars[@]}
+ perf_record ${runVars[@]}
;;
report)
perf_report
« no previous file with comments | « platform_tools/android/bin/android_make ('k') | platform_tools/android/bin/android_run_skia » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698