to top

Viewing Battery Use Data

In this document

The dumpsys batterystats command generates interesting statistical data about battery usage on a device, organized by unique user ID (UID). The statistics include the following:

  • History of battery-related events
  • Global statistics for the device
  • Approximate power use per UID and system component
  • Per-app mobile milliseconds per packet
  • System UID aggregated statistics
  • App UID aggregated statistics

Use the Battery Historian 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 to understand and diagnose battery-related issues.

Command input

The basic batterystats command is:

$ adb shell dumpsys batterystats

Supported options:

  • --help displays additional options for tailoring the output.
  • --checkin exports results in machine-readable csv format.

For example, to print battery usage statistics in csv format for all apps since the device was last charged, run the command:

$ adb shell dumpsys batterystats --charged --checkin

You can also specify a package name to get statistics for a single app. For example, to print battery usage statistics for a given app package since the device was last charged, run the command:

$ adb shell dumpsys batterystats --charged <package-name>

Command output

The batterystats command generates aggregated observations about battery use on the device since it was last charged. Observations may be per-UID or system-level; data is selected for inclusion based on its usefulness in analyzing battery performance. Output includes one (1) entry per observation, and each entry consists of a comma-separated list of values in the format: int,uid,mode,section,fields (one or more).

The first four values correspond to the following:

  • Dummy integer
  • UID
  • Aggregation mode
    • "i" for information not tied to charged/uncharged status.
    • "l" for --charged (usage since last charge).
    • "u" for --unplugged (usage since last unplugged). Deprecated in Android 5.1.1.
  • Section identifier, which determines how to interpret subsequent values in the line.

Sample output:

  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,0,l,pwi,blue,0.0273
  9,0,l,pwi,cell,14.0
  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

Section identifiers

Command output for batterystats supports the following sections:

Section Identifier Description Remaining Fields

vers

Version

checkin version, parcel version, start platform version, end platform version

uid

UID

uid, package name

apk

APK

wakeups, APK, service, start time, starts, launches

pr

Process

process, user, system, foreground, starts

sr

Sensor

sensor number, time, count

vib

Vibrator

time, count

fg

Foreground

time, count

st

State Time

foreground, active, running

wl

Wake lock

wake lock, full time, 'f', full count, partial time, 'p', partial count, window time, 'w', window count

sy

Sync

sync, time, count

jb

Job

job, time, count

kwl

Kernel Wake Lock

kernel wake lock, time, count

wr

Wakeup Reason

wakeup reason, time, count

nt

Network

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

ua

User Activity

other, button, touch

bt

Battery

start count, battery realtime, battery uptime, total realtime, total uptime, start clock time, battery screen off realtime, battery screen off uptime

dc

Battery Discharge

low, high, screen on, screen off

lv

Battery Level

start level, current level

wfl

Wi-Fi

full Wi-Fi lock on time, Wi-Fi scan time, Wi-Fi running time, Wi-Fi scan count, Wi-Fi idle time, Wi-Fi receive time, Wi-Fi transmit time

gwfl

Global Wi-Fi

Wi-Fi on time, Wi-Fi running time, Wi-Fi idle time, Wi-Fi receive time, Wi-Fi transmit time, Wi-Fi power (mAh)

gble

Global Bluetooth

BT idle time, BT receive time, BT transmit time, BT power (mAh)

m

Misc

screen on time, phone on time, full wakelock time total, partial wakelock time total, mobile radio active time, mobile radio active adjusted time, interactive time, power save mode enabled time, connectivity changes, device idle mode enabled time, device idle mode enabled count, device idling time, device idling count, mobile radio active count, mobile radio active unknown time

gn

Global Network

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

br

Screen Brightness

dark, dim, medium, light, bright

sst

Signal Scanning Time

signal scanning time

sgt

Signal Strength Time

none, poor, moderate, good, great

sgc

Signal Strength Count

none, poor, moderate, good, great

dct

Data Connection Time

none, GPRS, EDGE, UMTS, CDMA, EVDO_0, EVDO_A, 1xRTT, HSDPA, HSUPA, HSPA, IDEN, EVDO_B, LTE, EHRPD, HSPAP, other

dcc

Data Connection Count

none, GPRS, EDGE, UMTS, CDMA, EVDO_0, EVDO_A, 1xRTT, HSDPA, HSUPA, HSPA, IDEN, EVDO_B, LTE, EHRPD, HSPAP, other

wst

Wi-Fi State Time

off, off scanning, on no networks, on disconnected, on connected STA, on connected P2P, on connected STA P2P, soft AP

wsc

Wi-Fi State Count

off, off scanning, on no networks, on disconnected, on connected STA, on connected P2P, on connected STA P2P, soft AP

wsst

Wi-Fi Supplicant State Time

invalid, disconnected, interface disabled, inactive, scanning, authenticating, associating, associated, four-way handshake, group handshake, completed, dormant, uninitialized

wssc

Wi-Fi Supplicant State Count

invalid, disconnected, interface disabled, inactive, scanning, authenticating, associating, associated, four-way handshake, group handshake, completed, dormant, uninitialized

wsgt

Wi-Fi Signal Strength Time

none, poor, moderate, good, great

wsgc

Wi-Fi Signal Strength Count

none, poor, moderate, good, great

bst

Bluetooth State Time

inactive, low, med, high

bsc

Bluetooth State Count

inactive, low, med, high

pws

Power Use Summary

battery capacity, computed power, minimum drained power, maximum drained power

pwi

Power Use Item

label, mAh

dsd

Discharge Step

duration, level, screen, power-save

csd

Charge Step

duration, level, screen, power-save

dtr

Discharge Time Remaining

battery time remaining

ctr

Charge Time Remaining

charge time remaining

Bluetooth, cellular, and Wi-Fi usage

Support for battery usage data on Bluetooth, cellular, and Wi-Fi data requires the device Bluetooth, cellular, and Wif-Fi chipsets implement radio support and the chipset firmware passes usage data to the framework. OEMs must work with their chipset providers to facilitate in-field firmware updates on existing chipsets and compatible firmware on new chipsets.

Additionally, OEMs must continue to configure and submit the power profile for their devices. However, when the platform detects that Bluetooth, cellular (as of Android 7.0), or Wi-Fi radio power data is available from the chipset, it uses chipset data instead of power profile data. For details, see Power values.

Note: Prior to Android 6.0, power use for Bluetooth radio, cellular radio, and Wi-Fi was tracked in the m (Misc) section category. In Android 6.0 and higher, power use for these components is tracked in the pwi (Power Use Item) section with individual labels (wifi, blue, cell) for each component.