Documentation
¶
Overview ¶
Package aggregated constructs a checkin struct from a given batterystats proto. The checkin struct contains data categorized by each metric.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ANRCrashData ¶
ANRCrashData contains ANR and crash data for a single app.
type ActivityData ¶
type ActivityData struct {
Name string
Title string
UID int32
Count float32
CountPerHour float32
CountLevel string // Low, Medium, High
// MaxDuration is the single longest duration of this ActivityData. This could sometimes be
// greater than Duration (eg. in the case of a wakelock whose time was split with another
// wakelock -- 2 wakelocks held for an hour each -> Duration would be 30 minutes for each,
// but MaxDuration would be one hour).
MaxDuration time.Duration
Duration time.Duration
// TotalDuration is used to track the total duration of metrics. This may be different from
// Duration for metrics such as wakelocks, which will have Duration set to the apportioned
// duration.
TotalDuration time.Duration
// SecondsPerHr based on TotalDuration, if available, otherwise, based on Duration.
SecondsPerHr float32
DurationLevel string // Low, Medium, High
Level string // The maximum of CountLevel and DurationLevel.
}
ActivityData contains count and duration stats about activity on the device. The UID field will be pouplated (non-zero) if the activity is connected to a specific UID.
type AppData ¶
type AppData struct {
Name string
UID int32
Alarms RateData
CPU CPUData
GPSUse ActivityData
ScheduledJobs ActivityData
Network NetworkTrafficData
PartialWakelocks ActivityData
Syncs ActivityData
WifiScan ActivityData
}
AppData contains aggregated values for some app metrics.
type ByCPUUsage ¶
type ByCPUUsage []CPUData
ByCPUUsage sorts CPUData by the power usage in descending order. In case of similar power usage, sort according to cpu time.
func (ByCPUUsage) Len ¶
func (a ByCPUUsage) Len() int
func (ByCPUUsage) Less ¶
func (a ByCPUUsage) Less(i, j int) bool
func (ByCPUUsage) Swap ¶
func (a ByCPUUsage) Swap(i, j int)
type ByMobileBytes ¶
type ByMobileBytes []NetworkTrafficData
ByMobileBytes sorts NetworkTrafficData by the amount of bytes transferred over mobile.
func (ByMobileBytes) Len ¶
func (n ByMobileBytes) Len() int
func (ByMobileBytes) Less ¶
func (n ByMobileBytes) Less(i, j int) bool
Less sorts in decreasing order.
func (ByMobileBytes) Swap ¶
func (n ByMobileBytes) Swap(i, j int)
type ByWifiBytes ¶
type ByWifiBytes []NetworkTrafficData
ByWifiBytes sorts NetworkTrafficData by the amount of bytes transferred over mobile.
func (ByWifiBytes) Len ¶
func (n ByWifiBytes) Len() int
func (ByWifiBytes) Swap ¶
func (n ByWifiBytes) Swap(i, j int)
type CPUData ¶
type CPUData struct {
Name string // App name.
UID int32
UserTime time.Duration
SystemTime time.Duration
PowerPct float32 // Percentage of device power used.
UserTimeLevel string // Low, Medium, High
SystemTimeLevel string // Low, Medium, High
Level string // The maximum of UserTimeLevel and SystemTimeLevel.
}
CPUData contains data about app CPU usage.
type Checkin ¶
type Checkin struct {
Device string
Build string
BuildFingerprint string
ReportVersion int32
ScreenOffDischargePoints float32
ScreenOnDischargePoints float32
ActualDischarge float32 // mAh
EstimatedDischarge float32 // mAh
WifiDischargePoints float32
BluetoothDischargePoints float32
ModemDischargePoints float32
Realtime time.Duration
ScreenOffRealtime time.Duration
Uptime MDuration
ScreenOffUptime MDuration
ScreenOffUptimePercentage float32
ScreenOnTime MDuration
ScreenOnTimePercentage float32
PartialWakelockTime MDuration
PartialWakelockTimePercentage float32
KernelOverheadTime MDuration
KernelOverheadTimePercentage float32
SignalScanningTime MDuration
SignalScanningTimePercentage float32
MobileActiveTime MDuration
MobileActiveTimePercentage float32
WifiOnTime MDuration
WifiOnTimePercentage float32
WifiIdleTime MDuration
WifiTransferTime MDuration // tx + rx
WifiTransferTimePercentage float32
BluetoothIdleTime MDuration
BluetoothTransferTime MDuration // tx + rx
BluetoothTransferTimePercentage float32
ModemIdleTime MDuration
ModemTransferTime MDuration // tx + rx
ModemTransferTimePercentage float32
PhoneCallTime MDuration
PhoneCallTimePercentage float32
DeviceIdlingTime MDuration
DeviceIdlingTimePercentage float32
FullWakelockTime MDuration
FullWakelockTimePercentage float32
InteractiveTime MDuration
InteractiveTimePercentage float32
DeviceIdleModeEnabledTime MDuration
DeviceIdleModeEnabledTimePercentage float32
ScreenOffDischargeRatePerHr MFloat32
ScreenOnDischargeRatePerHr MFloat32
MobileKiloBytesPerHr MFloat32
WifiKiloBytesPerHr MFloat32
WifiDischargeRatePerHr MFloat32
BluetoothDischargeRatePerHr MFloat32
ModemDischargeRatePerHr MFloat32
// Aggregated across all apps/entries.
AggCameraUse ActivityData
AggFlashlightUse ActivityData
AggGPSUse ActivityData
AggKernelWakelocks ActivityData
AggScheduledJobs ActivityData
AggSyncTasks ActivityData
AggWakeupReasons ActivityData
AggWifiScanActivity ActivityData
AggWifiFullLockActivity ActivityData
AggAppWakeups RateData
AggCPUUsage CPUData
// Each element corresponds to a single entry/app.
UserspaceWakelocks []ActivityData
KernelWakelocks []ActivityData
ScheduledJobs []ActivityData
SyncTasks []ActivityData
WakeupReasons []ActivityData
GPSUse []ActivityData
TopMobileActiveApps []ActivityData
WifiScanActivity []ActivityData
WifiFullLockActivity []ActivityData
CameraUse []ActivityData
FlashlightUse []ActivityData
TopMobileTrafficApps []NetworkTrafficData
TopWifiTrafficApps []NetworkTrafficData
DevicePowerEstimates []PowerUseData
AppWakeups []RateData
AppWakeupsByAlarmName []RateData
ANRAndCrash []ANRCrashData
CPUUsage []CPUData
AppStates []stateData
AggregatedApps []AppData
TotalAppGPSUseTimePerHour float32
TotalAppCPUPowerPct float32
BluetoothOnTime MDuration
BluetoothOnTimePercentage float32
LowPowerModeEnabledTime MDuration
LowPowerModeEnabledTimePercentage float32
TotalAppANRCount int32
TotalAppANRRate float32
TotalAppCrashCount int32
TotalAppCrashRate float32
TotalAppScheduledJobsPerHr float32
TotalAppSyncsPerHr float32
TotalAppWakeupsPerHr float32
TotalAppFlashlightUsePerHr float32
TotalAppCameraUsePerHr float32
ConnectivityChanges float32
ScreenBrightness map[string]float32
SignalStrength map[string]float32
WifiSignalStrength map[string]float32
BluetoothState map[string]float32
DataConnection map[string]float32
}
Checkin contains the aggregated batterystats data for a bugreport.
func ParseCheckinData ¶
func ParseCheckinData(c *bspb.BatteryStats) Checkin
ParseCheckinData creates a Checkin struct from the given aggregated battery stats.
type NetworkTrafficData ¶
type NetworkTrafficData struct {
Name string
UID int32
WifiMegaBytes float32
MobileMegaBytes float32
WifiMegaBytesPerHour float32
MobileMegaBytesPerHour float32
WifiLevel string // Low, medium, high
MobileLevel string // Low, medium, high
Level string // The maximum of WifiLevel and MobileLevel.
}
NetworkTrafficData contains the total amount of bytes transferred over mobile and wifi.
type PowerUseData ¶
type PowerUseData struct {
Name string
UID int32
Percent float32 // Percentage of total consumption
}
PowerUseData contains percentage battery consumption for apps and system elements.