@@ -105,9 +105,55 @@ phases:
105
105
echo "*.model tokenizer files found in /data/local/tmp/minibench/"
106
106
fi
107
107
108
- - echo "Collect device state before running "
108
+ - echo "Mandatory Cool Down for 10 minutes "
109
109
- |
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'
111
157
112
158
- echo "Run benchmark"
113
159
- |
@@ -116,7 +162,6 @@ phases:
116
162
117
163
adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys deviceidle force-idle
118
164
adb -s $DEVICEFARM_DEVICE_UDID shell dumpsys deviceidle unforce
119
- adb -s $DEVICEFARM_DEVICE_UDID shell sleep 180
120
165
121
166
if [ -n "$BIN_FOUND" ]; then
122
167
adb -s $DEVICEFARM_DEVICE_UDID shell am start -W -n org.pytorch.minibench/.BenchmarkActivity \
@@ -132,10 +177,37 @@ phases:
132
177
adb -s $DEVICEFARM_DEVICE_UDID shell am start -W -n org.pytorch.minibench/.BenchmarkActivity \
133
178
--es "model_dir" "/data/local/tmp/minibench"
134
179
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)"
137
200
- |
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
139
211
140
212
post_test:
141
213
commands:
0 commit comments