@@ -105,9 +105,55 @@ phases:
105105 echo "*.model tokenizer files found in /data/local/tmp/minibench/"
106106 fi
107107
108- - echo "Collect device state before running "
108+ - echo "Mandatory Cool Down for 10 minutes "
109109 - |
110- adb -s $DEVICEFARM_DEVICE_UDID shell 'cat /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state /sys/devices/system/cpu/cpu*/cpufreq/stats/trans_table' > $DEVICEFARM_LOG_DIR/state_before.txt
110+ adb -s $DEVICEFARM_DEVICE_UDID shell 'sleep 600'
111+
112+ - echo "Collect Device Telemetry - CPU Scaling Configuration"
113+ - |
114+ adb -s $DEVICEFARM_DEVICE_UDID shell '
115+ for core_path in /sys/devices/system/cpu/cpu*/cpufreq; do
116+ if [ -d "$core_path" ]; then
117+ core_name=$(basename $(dirname $core_path))
118+ governor=$(cat $core_path/scaling_governor 2>/dev/null || echo "N/A")
119+ min_freq=$(cat $core_path/scaling_min_freq 2>/dev/null || echo "N/A")
120+ max_freq=$(cat $core_path/scaling_max_freq 2>/dev/null || echo "N/A")
121+ echo "$core_name | governor=$governor | min_freq=$min_freq | max_freq=$max_freq"
122+ fi
123+ done
124+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_scaling_config.txt
125+
126+ - echo "Collect Device Telemetry - Thermal Status"
127+ - |
128+ adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys thermalservice > $DEVICEFARM_LOG_DIR/telemetry_thermal_status.txt
129+
130+ - echo "Collect Device Telemetry - CPU Frequency Statistics (pre-benchmark)"
131+ - |
132+ adb -s $DEVICEFARM_DEVICE_UDID shell '
133+ for core in /sys/devices/system/cpu/cpu*/cpufreq/stats; do
134+ if [ -d "$core" ]; then
135+ core_name=$(basename $(dirname $(dirname $core)))
136+ echo "=== $core_name ==="
137+ echo "--- time_in_state ---"
138+ cat $core/time_in_state 2>/dev/null
139+ echo "--- trans_table ---"
140+ cat $core/trans_table 2>/dev/null
141+ echo "--- total_trans ---"
142+ cat $core/total_trans 2>/dev/null
143+ echo ""
144+ fi
145+ done
146+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_freq_stats_pre.txt
147+
148+ - echo "Collect Device Telemetry - Battery (pre-benchmark)"
149+ - |
150+ adb -s $DEVICEFARM_DEVICE_UDID shell '
151+ dumpsys battery
152+ ' > $DEVICEFARM_LOG_DIR/telemetry_battery_pre.txt
153+
154+ echo "Reset Battery Stats (pre-benchmark)"
155+ adb -s $DEVICEFARM_DEVICE_UDID shell 'dumpsys batterystats --reset'
156+ adb -s $DEVICEFARM_DEVICE_UDID shell 'dumpsys batterystats --enable full-wake-history'
111157
112158 - echo "Run benchmark"
113159 - |
@@ -116,7 +162,6 @@ phases:
116162
117163 adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys deviceidle force-idle
118164 adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys deviceidle unforce
119- adb -s $DEVICEFARM_DEVICE_UDID shell sleep 180
120165
121166 if [ -n "$BIN_FOUND" ]; then
122167 adb -s $DEVICEFARM_DEVICE_UDID shell am start -W -n org.pytorch.minibench/.BenchmarkActivity \
@@ -132,10 +177,37 @@ phases:
132177 adb -s $DEVICEFARM_DEVICE_UDID shell am start -W -n org.pytorch.minibench/.BenchmarkActivity \
133178 --es "model_dir" "/data/local/tmp/minibench"
134179 fi
135-
136- - echo "Collect device state after running"
180+
181+ - echo "Collect Device Telemetry - CPU Frequency Statistics (post-benchmark)"
182+ - |
183+ adb -s $DEVICEFARM_DEVICE_UDID shell '
184+ for core in /sys/devices/system/cpu/cpu*/cpufreq/stats; do
185+ if [ -d "$core" ]; then
186+ core_name=$(basename $(dirname $(dirname $core)))
187+ echo "=== $core_name ==="
188+ echo "--- time_in_state ---"
189+ cat $core/time_in_state 2>/dev/null
190+ echo "--- trans_table ---"
191+ cat $core/trans_table 2>/dev/null
192+ echo "--- total_trans ---"
193+ cat $core/total_trans 2>/dev/null
194+ echo ""
195+ fi
196+ done
197+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_freq_stats_post.txt
198+
199+ - echo "Collect Device Telemetry - Battery (post-benchmark)"
137200 - |
138- adb -s $DEVICEFARM_DEVICE_UDID shell 'cat /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state /sys/devices/system/cpu/cpu*/cpufreq/stats/trans_table' > $DEVICEFARM_LOG_DIR/state_after.txt
201+ adb -s $DEVICEFARM_DEVICE_UDID shell '
202+ echo "=== POST-BENCHMARK BATTERY INFO ==="
203+ dumpsys battery
204+ echo ""
205+ echo "=== APP BATTERY STATS (org.pytorch.minibench) ==="
206+ dumpsys batterystats --charged org.pytorch.minibench
207+ echo ""
208+ echo "=== POWER CONSUMPTION SUMMARY ==="
209+ dumpsys batterystats --charged | grep -E "(org.pytorch.minibench|Estimated power use|Time on battery|Total running time)"
210+ ' > $DEVICEFARM_LOG_DIR/telemetry_battery_post.txt
139211
140212 post_test:
141213 commands:
0 commit comments