In the era before Doze Mode, BetterBatteryStats was an essential app to track down Android's frequent wakelocks. Android doesn't have the same battery issues anymore, but you might still want to keep tabs on certain apps and services. Luckily, the latest update for BetterBatteryStats added full support for unrooted phones via ADB commands. There's also better Oreo support and various bug fixes.
Here's the full changelog for BetterBatteryStats v2.3.
- Full android O support
- Unrooted devices now fully supported (with perms added using ADB)
- UI improvements and I18N
- Better support for substratum theming
- Fixes based on crash-reports
- Added application analytics
Changes to Android in the Lollipop era made BetterBatteryStats of little use on unrooted phones, but there have been some developments since then. BBS had partial support on unrooted devices with ADB before, but now it appears to work fully after entering a few commands. You'll have to get ADB up and running on your computer and connect your phone with a cable. All three commands are listed on the BetterBatteryStats Play Store page, so you can copy and paste.
I've tested this on a Galaxy S9, and all the features appear to work. BetterBatteryStats is a standard paid app, so it'll cost you $2.49 to find out how your battery is doing.