aboutsummaryrefslogtreecommitdiff
path: root/src/devices
diff options
context:
space:
mode:
authorGina Dimino <gdimino@google.com>2015-04-14 21:52:29 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-14 21:52:29 +0000
commit68bd3e67413c11cb984f686503f94a55c3f1584c (patch)
tree78523593ec01da2ee9f998b1f794c81dd05e53de /src/devices
parentd2d685dcf7ae741097a5a6d6e17dd8cdc3494774 (diff)
parentc64b992edbcbed9d11242e3c9a6a0d420ea22715 (diff)
downloadsource.android.com-68bd3e67413c11cb984f686503f94a55c3f1584c.tar.gz
Merge "docs: Add article on batterstats, create power dir."
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/devices_toc.cs12
-rw-r--r--src/devices/tech/debug/dumpsys.jd4
-rw-r--r--src/devices/tech/power/batterystats.jd1037
-rw-r--r--src/devices/tech/power/index.jd (renamed from src/devices/tech/power.jd)19
4 files changed, 1047 insertions, 25 deletions
diff --git a/src/devices/devices_toc.cs b/src/devices/devices_toc.cs
index 464dd982..45ddd700 100644
--- a/src/devices/devices_toc.cs
+++ b/src/devices/devices_toc.cs
@@ -253,11 +253,15 @@
<li><a href="<?cs var:toroot ?>devices/tech/netstats.html">Viewing Network Data</a></li>
- <li>
- <a href="<?cs var:toroot ?>devices/tech/power.html">
- <span class="en">Power</span>
- </a>
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>devices/tech/power/index.html"><span class="en">Power</span></a>
+ </div>
+ <ul>
+ <li><a href="<?cs var:toroot ?>devices/tech/power/batterystats.html">Viewing Battery Usage Data</a></li>
+ </ul>
</li>
+
<li class="nav-section">
<div class="nav-section-header">
<a href="<?cs var:toroot ?>devices/tech/security/index.html">
diff --git a/src/devices/tech/debug/dumpsys.jd b/src/devices/tech/debug/dumpsys.jd
index f971bb30..ad93e2fc 100644
--- a/src/devices/tech/debug/dumpsys.jd
+++ b/src/devices/tech/debug/dumpsys.jd
@@ -99,8 +99,6 @@ following articles:</p>
href="{@docRoot}devices/input/diagnostics.html">Viewing Input Diagnostics (dumpsys input)</a>
<li> <a href="{@docRoot}devices/tech/ram/procstats.html">Viewing RAM Usage Data (dumpsys procstats)</a>
<li> <a href="{@docRoot}devices/tech/netstats.html">Viewing Network Data (dumpsys netstats)</a>
-<!-- To add in upcoming CLs
- <li> <a href="{@docRoot}devices/tech/power/batterystats.html">Batterystats</a>
--->
+ <li> <a href="{@docRoot}devices/tech/power/batterystats.html">Viewing Battery Usage Data (dumpsys batterystats)</a>
</ul>
diff --git a/src/devices/tech/power/batterystats.jd b/src/devices/tech/power/batterystats.jd
new file mode 100644
index 00000000..92aeb04f
--- /dev/null
+++ b/src/devices/tech/power/batterystats.jd
@@ -0,0 +1,1037 @@
+page.title=Viewing Battery Usage Data
+@jd:body
+
+<!--
+ Copyright 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<div id="qv-wrapper">
+ <div id="qv">
+ <h2>In this document</h2>
+ <ol id="auto-toc">
+ </ol>
+ </div>
+</div>
+
+ <p>The <code>dumpsys batterystats</code> command generates interesting
+ statistical data about battery usage on a device, organized by unique user
+ ID (UID). The statistics include the following:</p>
+
+ <ul>
+ <li>History of battery-related events</li>
+
+ <li>Global statistics for the device</li>
+
+ <li>Approximate power use per UID and system component</li>
+
+ <li>Per-app mobile milliseconds per packet</li>
+
+ <li>System UID aggregated statistics</li>
+
+ <li>App UID aggregated statistics</li>
+ </ul>
+
+ <p class="note">You can use the <a href=
+ "https://github.com/google/battery-historian">Battery Historian</a> tool on
+ the output of the dumpsys command to generate an HTML visualization of
+ power-related events from the logs. This information makes it easier for
+ you to understand and diagnose any battery-related issues.</p>
+
+ <h2 id="command-line_options">Command line options</h2>
+
+ <p>Use the <code>--help</code> option to learn about the various options
+ for tailoring the output.</p>
+
+ <p>Use the <code>--checkin</code> option to get the results in
+ machine-readable csv format.</p>
+
+ <p>To print battery usage statistics for a given app package since the
+ device was last charged, run this command:</p>
+ <pre class="prettyprint">
+$ adb shell dumpsys batterystats --charged &lt;package-name&gt;
+ </pre>
+
+ <h2 id="sample_input">Input</h2>
+
+ <p>To print battery usage statistics for all apps since the device was last
+ charged, in machine-readable format, run this command:</p>
+ <pre class="prettyprint">
+$ adb shell dumpsys batterystats --charged --checkin
+ </pre>
+
+ <h2 id="output">Output</h2>
+
+ <p>The output looks like this:</p>
+
+ <p>$ adb shell dumpsys batterystats --charged --checkin</p>
+
+ <pre class="no-pretty=print">
+ 9,0,i,vers,11,116,K,L 9,0,i,uid,1000,android
+ 9,0,i,uid,1000,com.android.providers.settings
+ 9,0,i,uid,1000,com.android.inputdevices
+ 9,0,i,uid,1000,com.android.server.telecom
+ 9,0,i,uid,1000,com.android.keychain 9,0,i,uid,1000,com.android.settings
+ 9,0,i,uid,1000,com.android.location.fused
+ 9,0,i,uid,1001,com.android.providers.telephony
+ 9,0,i,uid,1001,com.android.mms.service 9,0,i,uid,1001,com.android.stk
+ 9,0,i,uid,1001,com.android.phone 9,0,i,uid,1027,com.android.nfc
+ 9,0,i,uid,2000,com.android.shell
+ 9,0,i,uid,10002,com.android.providers.calendar
+ 9,0,i,uid,10003,com.android.cellbroadcastreceiver
+ 9,0,i,uid,10004,com.android.providers.userdictionary
+ 9,0,i,uid,10004,com.android.providers.contacts
+ 9,0,i,uid,10005,com.google.android.apps.enterprise.dmagent
+ 9,0,i,uid,10006,com.android.defcontainer
+ 9,0,i,uid,10007,com.android.providers.media
+ 9,0,i,uid,10007,com.android.providers.downloads
+ 9,0,i,uid,10007,com.android.providers.downloads.ui
+ 9,0,i,uid,10008,com.android.externalstorage
+ 9,0,i,uid,10009,com.google.android.syncadapters.contacts
+ 9,0,i,uid,10009,com.google.android.gms
+ 9,0,i,uid,10009,com.google.android.gsf
+ 9,0,i,uid,10009,com.google.android.gsf.login
+ 9,0,i,uid,10009,com.google.android.backuptransport
+ 9,0,i,uid,10011,com.google.android.dialer
+ 9,0,i,uid,10013,com.google.android.onetimeinitializer
+ 9,0,i,uid,10014,com.google.android.partnersetup
+ 9,0,i,uid,10015,com.android.launcher
+ 9,0,i,uid,10016,com.android.managedprovisioning
+ 9,0,i,uid,10017,com.android.mms 9,0,i,uid,10018,com.android.musicfx
+ 9,0,i,uid,10019,com.android.vending
+ 9,0,i,uid,10022,com.android.sharedstoragebackup
+ 9,0,i,uid,10023,com.android.systemui
+ 9,0,i,uid,10025,com.google.android.googlequicksearchbox
+ 9,0,i,uid,10027,com.google.android.apps.walletnfcrel
+ 9,0,i,uid,10029,com.google.android.marvin.talkback
+ 9,0,i,uid,10031,com.google.android.apps.books
+ 9,0,i,uid,10034,com.google.android.calendar
+ 9,0,i,uid,10037,com.android.chrome
+ 9,0,i,uid,10039,com.google.android.configupdater
+ 9,0,i,uid,10040,com.google.android.deskclock
+ 9,0,i,uid,10041,com.android.documentsui
+ 9,0,i,uid,10042,com.google.android.apps.docs
+ 9,0,i,uid,10047,com.google.android.ears
+ 9,0,i,uid,10054,com.google.android.talk
+ 9,0,i,uid,10057,com.google.android.inputmethod.latin
+ 9,0,i,uid,10061,com.google.android.music
+ 9,0,i,uid,10064,com.android.packageinstaller
+ 9,0,i,uid,10068,com.google.android.apps.plus
+ 9,0,i,uid,10069,com.google.android.gm
+ 9,0,i,uid,10070,com.google.android.keep
+ 9,0,i,uid,10071,com.google.android.apps.genie.geniewidget
+ 9,0,i,uid,10072,com.android.printspooler
+ 9,0,i,uid,10076,com.google.android.videos
+ 9,0,i,uid,10079,com.google.android.youtube
+ 9,0,i,uid,10084,com.google.android.apps.magazines
+ 9,0,i,dsd,1820451,97,s-,p- 9,0,i,dsd,3517481,98,s-,p-
+ 9,0,l,bt,0,8548446,1000983,8566645,1019182,1418672206045,8541652,994188
+ 9,0,l,gn,0,0,666932,495312,0,0,2104,1444
+ 9,0,l,m,6794,0,8548446,8548446,0,0,0,666932,495312,0,697728,0,0,0,5797,0,0
+ 9,0,l,br,9,0,6785,0,0 9,0,l,sgt,8548446,0,0,0,0 9,0,l,sst,9000
+ 9,0,l,sgc,0,0,0,0,0 9,0,l,dct,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ 9,0,l,dcc,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 9,0,l,wst,0,0,0,0,0,0,0,0
+ 9,0,l,wsc,0,0,0,0,0,0,0,0 9,0,l,wsst,0,0,0,0,0,0,0,52,0,0,8548394,0,0
+ 9,0,l,wssc,0,0,0,0,0,0,0,2,0,0,2,0,0 9,0,l,wsgt,0,0,0,3016,8545430
+ 9,0,l,wsgc,0,0,0,2,1 9,0,l,bst,0,0,0,0 9,0,l,bsc,0,0,0,0 9,0,l,dc,2,3,0,3
+ 9,0,l,kwl,msm_ipc_read00000001:00000001,0,0
+ 9,0,l,kwl,rpm_regulator_tcxo,0,0 9,0,l,kwl,wlan,25423,32
+ 9,0,l,kwl,event4-648,0,0 9,0,l,kwl,qcril,187,2 9,0,l,kwl,ssr(dsps),0,0
+ 9,0,l,kwl,bq51051b_wireless_chip,0,0 9,0,l,kwl,qmi0,0,0
+ 9,0,l,kwl,event5-648,7755,1231
+ 9,0,l,kwl,PowerManagerService.WakeLocks,680435,3908
+ 9,0,l,kwl,msm_hsic_host,66258,35 9,0,l,kwl,qcom_sap_wakelock,0,0
+ 9,0,l,kwl,sns_async_ev_wakelock,91954,1244 9,0,l,kwl,qmuxd_port_wl_12,0,0
+ 9,0,l,kwl,pil-wcnss,0,0 9,0,l,kwl,event0-648,11364,1212
+ 9,0,l,kwl,dofstrim,0,0 9,0,l,kwl,ssr(lpass),0,0
+ 9,0,l,kwl,qmuxd_port_wl_11,0,0 9,0,l,kwl,event2-648,0,0
+ 9,0,l,kwl,pil-vidc,0,0 9,0,l,kwl,mmc0,0,0
+ 9,0,l,kwl,tabla_gpio_irq_resend,0,0 9,0,l,kwl,pil-q6,0,0
+ 9,0,l,kwl,radio-interface,0,0 9,0,l,kwl,msm_ipc_read00000001:00000002,0,0
+ 9,0,l,kwl,event3-648,8143,1231 9,0,l,kwl,ssr(wcnss),0,0
+ 9,0,l,kwl,ssr(gss),0,0 9,0,l,kwl,KeyEvents,98,1263
+ 9,0,l,kwl,unknown_wakeups,0,0 9,0,l,kwl,qmuxd_port_wl_10,0,0
+ 9,0,l,kwl,pil-gss,0,0 9,0,l,kwl,qcom_rx_wakelock,161828,3205
+ 9,0,l,kwl,ssr(external_modem),0,0 9,0,l,kwl,power-supply,228,23
+ 9,0,l,kwl,pil-dsps,0,0 9,0,l,kwl,wcnss,0,0 9,0,l,kwl,msm_otg,0,0
+ 9,0,l,kwl,pm8921_eoc,0,0 9,0,l,kwl,slimport_wake_lock,0,0
+ 9,0,l,kwl,smsm_snapshot,0,0 9,0,l,kwl,suspend_backoff,239760,24
+ 9,0,l,kwl,event1-648,9331,1212 9,0,l,kwl,main,429,0
+ 9,0,l,kwl,alarm,2892,270 9,0,l,kwl,PowerManagerService.Display,432,1
+ 9,0,l,kwl,qmi1,0,0 9,0,l,kwl,kickstart,211,1
+ 9,0,l,kwl,qmuxd_port_wl_9,9,102 9,0,l,kwl,ear_hook,0,0
+ 9,0,l,kwl,mmc0_detect,52,1232 9,0,l,kwl,deleted_wake_locks,0,0
+ 9,0,l,kwl,PowerManagerService.Broadcasts,7331,0 9,0,l,kwl,qmi2,0,0
+ 9,0,l,kwl,smd_sns_dsps,456,1340 9,0,l,kwl,alarm_rtc,36084,122
+ 9,0,l,pws,2100,64.4,42.0,63.0 9,10009,l,pwi,uid,20.6 9,0,l,pwi,cell,18.5
+ 9,0,l,pwi,idle,8.73 9,0,l,pwi,uid,5.46 9,1000,l,pwi,uid,5.11
+ 9,0,l,pwi,wifi,3.28 9,10019,l,pwi,uid,0.847 9,10069,l,pwi,uid,0.408
+ 9,0,l,pwi,scrn,0.385 9,10034,l,pwi,uid,0.322 9,10025,l,pwi,uid,0.185
+ 9,10002,l,pwi,uid,0.180 9,10023,l,pwi,uid,0.168 9,1001,l,pwi,uid,0.0297
+ 9,10068,l,pwi,uid,0.0296 9,10057,l,pwi,uid,0.0234 9,1027,l,pwi,uid,0.0157
+ 9,10079,l,pwi,uid,0.00905 9,10054,l,pwi,uid,0.00527
+ 9,10005,l,pwi,uid,0.00341 9,10004,l,pwi,uid,0.00204
+ 9,2000,l,pwi,uid,0.00192 9,10070,l,pwi,uid,0.00144
+ 9,10061,l,pwi,uid,0.000860 9,10014,l,pwi,uid,0.000495
+ 9,10040,l,pwi,uid,0.000286 9,1014,l,pwi,uid,0.00000157 9,0,l,pwi,over,1.36
+ 9,0,l,nt,0,0,127699,11159,0,0,975,163,0,0
+ 9,0,l,pr,file-storage,0,140,0,0,0,0 9,0,l,pr,TX_Thread,0,440,0,0,0,0
+ 9,0,l,pr,flush-179:0,0,850,0,0,0,0 9,0,l,pr,sync_supers,10,0,0,0,0,0
+ 9,0,l,pr,dhcpcd,0,30,0,0,0,0 9,0,l,pr,kauditd,50,10,0,0,0,0
+ 9,0,l,pr,sdcard,20,110,0,0,0,0 9,0,l,pr,flush-0:18,40,100,0,0,0,0
+ 9,0,l,pr,zygote,250,90,0,0,0,0 9,0,l,pr,bdi-default,0,610,0,0,0,0
+ 9,0,l,pr,ueventd,940,2630,0,0,0,0 9,0,l,pr,kswapd0,0,180,0,0,0,0
+ 9,0,l,pr,debuggerd,180,610,0,0,0,0 9,0,l,pr,jbd2/mmcblk0p20,0,50,0,0,0,0
+ 9,0,l,pr,jbd2/mmcblk0p21,0,250,0,0,0,0
+ 9,0,l,pr,jbd2/mmcblk0p22,0,90,0,0,0,0
+ 9,0,l,pr,jbd2/mmcblk0p23,0,1150,0,0,0,0 9,0,l,pr,MC_Thread,0,1270,0,0,0,0
+ 9,0,l,pr,adbd,10,40,0,0,0,0 9,0,l,pr,lmkd,360,990,0,0,0,0
+ 9,0,l,pr,logd,1550,1670,0,0,0,0 9,0,l,pr,netd,80,330,0,0,0,0
+ 9,0,l,pr,rild,160,0,0,0,0,0 9,0,l,pr,vold,50,100,0,0,0,0
+ 9,0,l,pr,/init,0,70,0,0,0,0 9,0,l,pr,mpdecision,1400,7820,0,0,0,0
+ 9,0,l,pr,khubd,0,10,0,0,0,0 9,0,l,pr,kthreadd,0,600,0,0,0,0
+ 9,0,l,pr,kworker/0:0,0,3520,0,0,0,0 9,0,l,pr,sensors.qcom,380,720,0,0,0,0
+ 9,0,l,pr,healthd,20,190,0,0,0,0 9,0,l,pr,thermald,60,360,0,0,0,0
+ 9,0,l,pr,mmcqd/0,0,8700,0,0,0,0 9,0,l,pr,qseecomd,0,90,0,0,0,0
+ 9,0,l,pr,ksoftirqd/0,0,420,0,0,0,0 9,0,l,pr,wpa_supplicant,170,160,0,0,0,0
+ 9,0,l,pr,migration/0,0,1630,0,0,0,0 9,0,l,pr,migration/1,20,0,0,0,0,0
+ 9,0,l,pr,RX_Thread,0,790,0,0,0,0 9,0,l,pr,netmgrd,40,20,0,0,0,0
+ 9,1000,l,nt,0,0,11054,11216,0,0,26,29,0,0 9,1000,l,ua,2,0,0
+ 9,1000,l,sr,5,6813,1 9,1000,l,wl,*alarm*,0,f,0,23856,p,151,0,w,0
+ 9,1000,l,st,8548446,8548446,8548446 9,1000,l,pr,system,83310,35060,0,0,0,0
+ 9,1000,l,pr,surfaceflinger,6620,9330,0,0,0,0 9,1000,l,pr,ks,0,60,0,0,0,0
+ 9,1000,l,pr,qcks,0,90,0,0,0,0 9,1000,l,pr,efsks,0,50,0,0,0,0
+ 9,1000,l,pr,com.android.server.telecom,110,100,0,0,0,0
+ 9,1000,l,pr,servicemanager,40,110,0,0,0,0
+ 9,1001,l,st,8548446,8548446,8548446 9,1001,l,pr,qmuxd,0,30,0,0,0,0
+ 9,1001,l,pr,com.android.phone,450,300,0,0,0,0
+ 9,1014,l,nt,0,0,3410,3370,0,0,10,10,0,0 9,1027,l,st,8548446,8548446,8548446
+ 9,1027,l,pr,com.android.nfc,250,160,0,0,0,0
+ 9,10002,l,apk,15,com.android.providers.calendar,com.android.providers.calendar.CalendarProviderIntentService,2383,15,15
+ 9,10005,l,nt,0,0,1241,2488,0,0,6,10,0,0
+ 9,10009,l,nt,0,0,232255,258511,0,0,472,600,0,0
+ 9,10009,l,wfl,7689000,9814000,0
+ 9,10009,l,jb,com.google.android.gms/.gcm.nts.TaskExecutionService,81,3
+ 9,10009,l,sr,0,43643,46 9,10025,l,nt,0,0,152461,42850,0,0,267,243,0,0
+ 9,10025,l,wfl,1593000,629000,0 9,10034,l,nt,0,0,77657,40093,0,0,172,170,0,0
+ 9,10068,l,nt,0,0,11929,8383,0,0,50,47,0,0
+ 9,10069,l,nt,0,0,41553,22886,0,0,85,91,0,0</pre>
+
+ <h2 id="interpreting_the_output">Interpreting the output</h2>
+
+ <p>The sample output is in CSV format. Each line in the output contains
+ statistics related to battery usage.</p>
+
+ <p>The first four values in each line correspond to the following:</p>
+
+ <ul>
+ <li>Dummy integer</li>
+
+ <li>UID</li>
+
+ <li>Aggregation mode
+
+ <ul>
+ <li>"l" for --charged, means usage since last charge.</li>
+ <li>"u" for --unplugged, which means usage since last unplugged.</li>
+ <li>"i" for information that is not
+ tied to charged/uncharged status.</li>
+ </ul>
+ </li>
+
+ <li>Section identifier, which determines how to interpret the fifth
+ value and the following ones in the line.</li>
+ </ul>
+
+ <p>Currently, there are 41 sections and the interpretation for each section
+ is shown in the following table:</p>
+
+ <table>
+ <tr>
+ <td>
+ <p><strong>Order</strong></p>
+ </td>
+
+ <td class="tab0">
+ <p><strong>Section Identifier</strong></p>
+ </td>
+
+ <td class="tab0">
+ <p><strong>Description</strong></p>
+ </td>
+
+ <td class="tab0">
+ <p><strong>Remaining Fields</strong></p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>1</p>
+ </td>
+
+ <td class="tab0">
+ <p>vers</p>
+ </td>
+
+ <td class="tab0">
+ <p>Version</p>
+ </td>
+
+ <td class="tab0">
+ <p>checkin version, parcel version, start platform version, end
+ platform version</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>2</p>
+ </td>
+
+ <td class="tab0">
+ <p>uid</p>
+ </td>
+
+ <td class="tab0">
+ <p>UID</p>
+ </td>
+
+ <td class="tab0">
+ <p>uid, package name</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>3</p>
+ </td>
+
+ <td class="tab0">
+ <p>apk</p>
+ </td>
+
+ <td class="tab0">
+ <p>APK</p>
+ </td>
+
+ <td class="tab0">
+ <p>wakeups, APK, service, start time, starts, launches</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>4</p>
+ </td>
+
+ <td class="tab0">
+ <p>pr</p>
+ </td>
+
+ <td class="tab0">
+ <p>Process</p>
+ </td>
+
+ <td class="tab0">
+ <p>process, user, system, foreground, starts</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>5</p>
+ </td>
+
+ <td class="tab0">
+ <p>sr</p>
+ </td>
+
+ <td class="tab0">
+ <p>Sensor</p>
+ </td>
+
+ <td class="tab0">
+ <p>sensor number, time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>6</p>
+ </td>
+
+ <td class="tab0">
+ <p>vib</p>
+ </td>
+
+ <td class="tab0">
+ <p>Vibrator</p>
+ </td>
+
+ <td class="tab0">
+ <p>time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>7</p>
+ </td>
+
+ <td class="tab0">
+ <p>fg</p>
+ </td>
+
+ <td class="tab0">
+ <p>Foreground</p>
+ </td>
+
+ <td class="tab0">
+ <p>time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>8</p>
+ </td>
+
+ <td class="tab0">
+ <p>st</p>
+ </td>
+
+ <td class="tab0">
+ <p>State Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>foreground, active, running</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>9</p>
+ </td>
+
+ <td class="tab0">
+ <p>wl</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wake lock</p>
+ </td>
+
+ <td class="tab0">
+ <p>wake lock, full time, 'f', full count, partial time, 'p', partial
+ count, window time, 'w', window count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>10</p>
+ </td>
+
+ <td class="tab0">
+ <p>sy</p>
+ </td>
+
+ <td class="tab0">
+ <p>Sync</p>
+ </td>
+
+ <td class="tab0">
+ <p>sync, time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>11</p>
+ </td>
+
+ <td class="tab0">
+ <p>jb</p>
+ </td>
+
+ <td class="tab0">
+ <p>Job</p>
+ </td>
+
+ <td class="tab0">
+ <p>job, time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>12</p>
+ </td>
+
+ <td class="tab0">
+ <p>kwl</p>
+ </td>
+
+ <td class="tab0">
+ <p>Kernel Wake Lock</p>
+ </td>
+
+ <td class="tab0">
+ <p>kernel wake lock, time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>13</p>
+ </td>
+
+ <td class="tab0">
+ <p>wr</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wakeup Reason</p>
+ </td>
+
+ <td class="tab0">
+ <p>wakeup reason, time, count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>14</p>
+ </td>
+
+ <td class="tab0">
+ <p>nt</p>
+ </td>
+
+ <td class="tab0">
+ <p>Network</p>
+ </td>
+
+ <td class="tab0">
+ <p>mobile bytes RX, mobile bytes TX, Wi-Fi bytes RX, Wi-Fi bytes TX,
+ mobile packets RX, mobile packets TX, Wi-Fi packets RX, Wi-Fi packets
+ TX, mobile active time, mobile active count</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>15</p>
+ </td>
+
+ <td class="tab0">
+ <p>ua</p>
+ </td>
+
+ <td class="tab0">
+ <p>User Activity</p>
+ </td>
+
+ <td class="tab0">
+ <p>other, button, touch</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>16</p>
+ </td>
+
+ <td class="tab0">
+ <p>bt</p>
+ </td>
+
+ <td class="tab0">
+ <p>Battery</p>
+ </td>
+
+ <td class="tab0">
+ <p>start count, battery realtime, battery uptime, total realtime,
+ total uptime, start clock time, battery screen off realtime, battery
+ screen off uptime</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>17</p>
+ </td>
+
+ <td class="tab0">
+ <p>dc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Battery Discharge</p>
+ </td>
+
+ <td class="tab0">
+ <p>low, high, screen on, screen off</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>18</p>
+ </td>
+
+ <td class="tab0">
+ <p>lv</p>
+ </td>
+
+ <td class="tab0">
+ <p>Battery Level</p>
+ </td>
+
+ <td class="tab0">
+ <p>start level, current level</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>19</p>
+ </td>
+
+ <td class="tab0">
+ <p>wfl</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi</p>
+ </td>
+
+ <td class="tab0">
+ <p>full Wi-Fi lock on time, Wi-Fi scan time, Wi-Fi running time</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>20</p>
+ </td>
+
+ <td class="tab0">
+ <p>m</p>
+ </td>
+
+ <td class="tab0">
+ <p>Misc</p>
+ </td>
+
+ <td class="tab0">
+ <p>screen on time, phone on time, Wi-Fi on time, Wi-Fi running time,
+ Bluetooth on time, mobile RX total bytes, mobile TX total bytes,
+ Wi-Fi RX total bytes, Wi-Fi TX total bytes, full wake lock time
+ total, partial wake lock time total, legacy input event count, mobile
+ radio active time, mobile radio active adjusted time, interactive
+ time, low-power mode enabled time</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>21</p>
+ </td>
+
+ <td class="tab0">
+ <p>gn</p>
+ </td>
+
+ <td class="tab0">
+ <p>Global Network</p>
+ </td>
+
+ <td class="tab0">
+ <p>mobile RX total bytes, mobile TX total bytes, Wi-Fi RX total
+ bytes, Wi-Fi TX total bytes, mobile RX total packets, mobile TX total
+ packets, Wi-Fi RX total packets, Wi-Fi TX total packets</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>22</p>
+ </td>
+
+ <td class="tab0">
+ <p>br</p>
+ </td>
+
+ <td class="tab0">
+ <p>Screen Brightness</p>
+ </td>
+
+ <td class="tab0">
+ <p>dark, dim, medium, light, bright</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>23</p>
+ </td>
+
+ <td class="tab0">
+ <p>sst</p>
+ </td>
+
+ <td class="tab0">
+ <p>Signal Scanning Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>signal scanning time</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>24</p>
+ </td>
+
+ <td class="tab0">
+ <p>sgt</p>
+ </td>
+
+ <td class="tab0">
+ <p>Signal Strength Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, poor, moderate, good, great</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>25</p>
+ </td>
+
+ <td class="tab0">
+ <p>sgc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Signal Strength Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, poor, moderate, good, great</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>26</p>
+ </td>
+
+ <td class="tab0">
+ <p>dct</p>
+ </td>
+
+ <td class="tab0">
+ <p>Data Connection Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, GPRS, EDGE, UMTS, CDMA, EVDO_0, EVDO_A, 1xRTT, HSDPA, HSUPA,
+ HSPA, IDEN, EVDO_B, LTE, EHRPD, HSPAP, other</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>27</p>
+ </td>
+
+ <td class="tab0">
+ <p>dcc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Data Connection Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, GPRS, EDGE, UMTS, CDMA, EVDO_0, EVDO_A, 1xRTT, HSDPA, HSUPA,
+ HSPA, IDEN, EVDO_B, LTE, EHRPD, HSPAP, other</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>28</p>
+ </td>
+
+ <td class="tab0">
+ <p>wst</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi State Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>off, off scanning, on no networks, on disconnected, on connected
+ STA, on connected P2P, on connected STA P2P, soft AP</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>29</p>
+ </td>
+
+ <td class="tab0">
+ <p>wsc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi State Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>off, off scanning, on no networks, on disconnected, on connected
+ STA, on connected P2P, on connected STA P2P, soft AP</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>30</p>
+ </td>
+
+ <td class="tab0">
+ <p>wsst</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi Supplicant State Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>invalid, disconnected, interface disabled, inactive, scanning,
+ authenticating, associating, associated, four-way handshake, group
+ handshake, completed, dormant, uninitialized</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>31</p>
+ </td>
+
+ <td class="tab0">
+ <p>wssc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi Supplicant State Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>invalid, disconnected, interface disabled, inactive, scanning,
+ authenticating, associating, associated, four-way handshake, group
+ handshake, completed, dormant, uninitialized</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>32</p>
+ </td>
+
+ <td class="tab0">
+ <p>wsgt</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi Signal Strength Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, poor, moderate, good, great</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>33</p>
+ </td>
+
+ <td class="tab0">
+ <p>wsgc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Wi-Fi Signal Strength Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>none, poor, moderate, good, great</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>34</p>
+ </td>
+
+ <td class="tab0">
+ <p>bst</p>
+ </td>
+
+ <td class="tab0">
+ <p>Bluetooth State Time</p>
+ </td>
+
+ <td class="tab0">
+ <p>inactive, low, med, high</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>35</p>
+ </td>
+
+ <td class="tab0">
+ <p>bsc</p>
+ </td>
+
+ <td class="tab0">
+ <p>Bluetooth State Count</p>
+ </td>
+
+ <td class="tab0">
+ <p>inactive, low, med, high</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>36</p>
+ </td>
+
+ <td class="tab0">
+ <p>pws</p>
+ </td>
+
+ <td class="tab0">
+ <p>Power Use Summary</p>
+ </td>
+
+ <td class="tab0">
+ <p>battery capacity, computed power, minimum drained power, maximum
+ drained power</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>37</p>
+ </td>
+
+ <td class="tab0">
+ <p>pwi</p>
+ </td>
+
+ <td class="tab0">
+ <p>Power Use Item</p>
+ </td>
+
+ <td class="tab0">
+ <p>label, mAh</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>38</p>
+ </td>
+
+ <td class="tab0">
+ <p>dsd</p>
+ </td>
+
+ <td class="tab0">
+ <p>Discharge Step</p>
+ </td>
+
+ <td class="tab0">
+ <p>duration, level, screen, power-save</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>39</p>
+ </td>
+
+ <td class="tab0">
+ <p>csd</p>
+ </td>
+
+ <td class="tab0">
+ <p>Charge Step</p>
+ </td>
+
+ <td class="tab0">
+ <p>duration, level, screen, power-save</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>40</p>
+ </td>
+
+ <td class="tab0">
+ <p>dtr</p>
+ </td>
+
+ <td class="tab0">
+ <p>Discharge Time Remaining</p>
+ </td>
+
+ <td class="tab0">
+ <p>battery time remaining</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
+ <p>41</p>
+ </td>
+
+ <td class="tab0">
+ <p>ctr</p>
+ </td>
+
+ <td class="tab0">
+ <p>Charge Time Remaining</p>
+ </td>
+
+ <td class="tab0">
+ <p>charge time remaining</p>
+ </td>
+ </tr>
+ </table>
diff --git a/src/devices/tech/power.jd b/src/devices/tech/power/index.jd
index 35155620..c3a6a9a1 100644
--- a/src/devices/tech/power.jd
+++ b/src/devices/tech/power/index.jd
@@ -550,24 +550,7 @@ Update period for all is 3.5 seconds.</td>
<h2 id="viewing-usage">Viewing Battery Usage Data</h2>
-<p>The <code>dumpsys</code> <code>batterystats</code> command generates interesting statistical data
-about battery usage on a device, organized by unique application ID. You can view a history of
-battery-related events such as mobile radio state, Wi-Fi and Bluetooth power states, and wakelock
-reasons.</p>
-
-<p>Statistics include:</p>
-
-<ul>
-<li>History of battery-related events</li>
-<li>Global statistics for the device</li>
-<li>Approximate power use per UID and system component</li>
-<li>System UID aggregated statistics</li>
-</ul>
-
-<p>Use the output of the dumpsys command with the
-<a href="https://github.com/google/battery-historian">Battery Historian</a> tool to generate HTML
-visualizations of power-related events from logs.</p>
-
+See <a href="{@docRoot}devices/tech/power/batterystats.html">Viewing Battery Usage Data</a>.
<h2 id="power-values">Power Values</h2>