@@ -105,9 +105,51 @@ phases:
105105 echo "*.model tokenizer files found in /data/local/tmp/minibench/"
106106 fi
107107
108- - echo "Collect device state before running "
108+ - echo "Collect Device Telemetry - CPU Scaling Configuration "
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 '
111+ for core_path in /sys/devices/system/cpu/cpu*/cpufreq; do
112+ if [ -d "$core_path" ]; then
113+ core_name=$(basename $(dirname $core_path))
114+ governor=$(cat $core_path/scaling_governor 2>/dev/null || echo "N/A")
115+ min_freq=$(cat $core_path/scaling_min_freq 2>/dev/null || echo "N/A")
116+ max_freq=$(cat $core_path/scaling_max_freq 2>/dev/null || echo "N/A")
117+ echo "$core_name | governor=$governor | min_freq=$min_freq | max_freq=$max_freq"
118+ fi
119+ done
120+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_scaling_config.txt
121+
122+ - echo "Collect Device Telemetry - Thermal Status"
123+ - |
124+ adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys thermalservice > $DEVICEFARM_LOG_DIR/telemetry_thermal_status.txt
125+
126+ - echo "Collect Device Telemetry - CPU Frequency Statistics (pre-benchmark)"
127+ - |
128+ adb -s $DEVICEFARM_DEVICE_UDID shell '
129+ for core in /sys/devices/system/cpu/cpu*/cpufreq/stats; do
130+ if [ -d "$core" ]; then
131+ core_name=$(basename $(dirname $(dirname $core)))
132+ echo "=== $core_name ==="
133+ echo "--- time_in_state ---"
134+ cat $core/time_in_state 2>/dev/null
135+ echo "--- trans_table ---"
136+ cat $core/trans_table 2>/dev/null
137+ echo "--- total_trans ---"
138+ cat $core/total_trans 2>/dev/null
139+ echo ""
140+ fi
141+ done
142+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_freq_stats_pre.txt
143+
144+ - echo "Collect Device Telemetry - Battery (pre-benchmark)"
145+ - |
146+ adb -s $DEVICEFARM_DEVICE_UDID shell '
147+ dumpsys battery
148+ ' > $DEVICEFARM_LOG_DIR/telemetry_battery_info_pre.txt
149+
150+ echo "Reset Battery Stats (pre-benchmark)"
151+ adb -s $DEVICEFARM_DEVICE_UDID shell 'dumpsys batterystats --reset'
152+ adb -s $DEVICEFARM_DEVICE_UDID shell 'dumpsys batterystats --enable full-wake-history'
111153
112154 - echo "Run benchmark"
113155 - |
@@ -132,10 +174,37 @@ phases:
132174 adb -s $DEVICEFARM_DEVICE_UDID shell am start -W -n org.pytorch.minibench/.BenchmarkActivity \
133175 --es "model_dir" "/data/local/tmp/minibench"
134176 fi
135-
136- - echo "Collect device state after running"
177+
178+ - echo "Collect Device Telemetry - CPU Frequency Statistics (post-benchmark)"
179+ - |
180+ adb -s $DEVICEFARM_DEVICE_UDID shell '
181+ for core in /sys/devices/system/cpu/cpu*/cpufreq/stats; do
182+ if [ -d "$core" ]; then
183+ core_name=$(basename $(dirname $(dirname $core)))
184+ echo "=== $core_name ==="
185+ echo "--- time_in_state ---"
186+ cat $core/time_in_state 2>/dev/null
187+ echo "--- trans_table ---"
188+ cat $core/trans_table 2>/dev/null
189+ echo "--- total_trans ---"
190+ cat $core/total_trans 2>/dev/null
191+ echo ""
192+ fi
193+ done
194+ ' > $DEVICEFARM_LOG_DIR/telemetry_cpu_freq_stats_post.txt
195+
196+ - echo "Collect Device Telemetry - Battery (post-benchmark)"
137197 - |
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
198+ adb -s $DEVICEFARM_DEVICE_UDID shell '
199+ echo "=== POST-BENCHMARK BATTERY INFO ==="
200+ dumpsys battery
201+ echo ""
202+ echo "=== APP BATTERY STATS (org.pytorch.minibench) ==="
203+ dumpsys batterystats --charged org.pytorch.minibench
204+ echo ""
205+ echo "=== POWER CONSUMPTION SUMMARY ==="
206+ dumpsys batterystats --charged | grep -E "(org.pytorch.minibench|Estimated power use|Time on battery|Total running time)"
207+ ' > $DEVICEFARM_LOG_DIR/telemetry_battery_post.txt
139208
140209 post_test:
141210 commands:
0 commit comments