xref: /aosp_15_r20/tools/trebuchet/scripts/run-user-switch-perf.sh (revision 56b170dbe6574b1f0ec9db7a63de7238ca6a09ea)
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