Add logblame and some log buffer tests.
A utility to read a logcat and print statistics about who is spamming the log. And tests that use it Bug: 37252687 Test: ./test_analyze.py ; test_logs.py ; test_ps.py Change-Id: I811ba482b4be9779047f97c3f3b7ea5f996bd503
This commit is contained in:
72
tools/logblame/app_switch_test
Executable file
72
tools/logblame/app_switch_test
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
# The intents to launch
|
||||
INTENTS="\
|
||||
com.google.android.googlequicksearchbox/.SearchActivity \
|
||||
com.android.settings/.Settings \
|
||||
com.google.android.apps.messaging/.ui.ConversationListActivity \
|
||||
com.google.android.calculator/com.android.calculator2.Calculator \
|
||||
com.google.android.deskclock/com.android.deskclock.DeskClock \
|
||||
com.google.android.contacts/com.android.contacts.activities.PeopleActivity \
|
||||
com.google.android.talk/.SigningInActivity \
|
||||
com.google.android.vr.home/com.google.android.apps.vr.home.app.MainActivity \
|
||||
com.android.documentsui/.Launcher \
|
||||
com.google.android.apps.nexuslauncher/.NexusLauncherActivity \
|
||||
"
|
||||
# com.google.android.GoogleCamera/com.android.camera.CameraActivity \
|
||||
|
||||
# The files to save output to.
|
||||
RAWLOGS_FILE=app-switch-rawlogs.txt
|
||||
ANALYSIS_FILE=app-switch-analysis.txt
|
||||
|
||||
|
||||
# Turn on the screen and unlock the device
|
||||
# TODO: Power on
|
||||
adb shell wm dismiss-keyguard
|
||||
adb logcat -P ""
|
||||
|
||||
# Turn on airplane mode (to reduce background noise caught by other tests)
|
||||
airplane_mode_was_on=$(adb shell settings get global airplane_mode_on)
|
||||
if [ $airplane_mode_was_on != 1 ] ; then
|
||||
adb shell settings put global airplane_mode_on 1 > /dev/null
|
||||
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null
|
||||
sleep 15
|
||||
fi
|
||||
|
||||
# Start the analysis process
|
||||
$TOP/development/tools/logblame/analyze_logs.py --duration=10m --clear --rawlogs $RAWLOGS_FILE \
|
||||
| tee $ANALYSIS_FILE &
|
||||
analyze_pid=$!
|
||||
|
||||
# Launch the intents with a 3s gap between them
|
||||
for intent in $INTENTS
|
||||
do
|
||||
echo Starting: $intent
|
||||
adb shell am start -a android.intent.action.MAIN $intent
|
||||
sleep 4
|
||||
done
|
||||
|
||||
# Turn the screen off and on
|
||||
adb shell input keyevent 26
|
||||
adb shell input keyevent 26
|
||||
adb shell wm dismiss-keyguard
|
||||
|
||||
echo
|
||||
echo
|
||||
|
||||
# Kill adb to disconnect logcat
|
||||
adb kill-server
|
||||
|
||||
# Wait for the pyton process to exit
|
||||
wait $analyze_pid
|
||||
|
||||
# Turn airplane mode back off
|
||||
if [ $airplane_mode_was_on == 0 ] ; then
|
||||
adb shell settings put global airplane_mode_on 0 > /dev/null
|
||||
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null
|
||||
fi
|
||||
|
||||
echo "Wrote raw logs to $RAWLOGS_FILE"
|
||||
echo "Wrote analysis to $ANALYSIS_FILE"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user