1*56b170dbSXin Li#!/bin/bash 2*56b170dbSXin Li 3*56b170dbSXin Li# usage (From root directory): ./scripts/run-user-switch-perf.sh <target user> 4*56b170dbSXin Li 5*56b170dbSXin Li# Runs user switch, collects a trace and prints out a summary of user switch 6*56b170dbSXin Li# metrics - time taken by user start, user switch and user unlock and top 5 7*56b170dbSXin Li# most expensive service in each category 8*56b170dbSXin Li 9*56b170dbSXin LiTargetUser=$1 10*56b170dbSXin Li 11*56b170dbSXin Liadb shell atrace -o /sdcard/atrace-ss.txt -t 10 ss & 12*56b170dbSXin Lisleep 2 13*56b170dbSXin Liadb shell am switch-user $TargetUser 14*56b170dbSXin Liwait 15*56b170dbSXin Lisleep 2 16*56b170dbSXin Liadb pull /sdcard/atrace-ss.txt /tmp 17*56b170dbSXin Lisleep 1 18*56b170dbSXin Li./gradlew :trebuchet:user-switch-analyzer:run --args="/tmp/atrace-ss.txt -u $TargetUser" 19