REST Resource: vitals.stuckbackgroundwakelockrate

Resource: StuckBackgroundWakelockRateMetricSet

Singleton resource representing the set of Stuck Background Wakelocks metrics.

This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts.

Supported aggregation periods:

  • DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is America/Los_Angeles.

Supported metrics:

  • stuckBgWakelockRate (google.type.Decimal): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour.
  • stuckBgWakelockRate7dUserWeighted (google.type.Decimal): Rolling average value of stuckBgWakelockRate in the last 7 days. The daily values are weighted by the count of distinct users for the day.
  • stuckBgWakelockRate28dUserWeighted (google.type.Decimal): Rolling average value of stuckBgWakelockRate in the last 28 days. The daily values are weighted by the count of distinct users for the day.
  • distinctUsers (google.type.Decimal): Count of distinct users in the aggregation period that were used as normalization value for the stuckBgWakelockRate metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000, depending on the magnitude of the value.

Supported dimensions:

  • apiLevel (string): the API level of Android that was running on the user's device, e.g., 26.
  • versionCode (int64): version of the app that was running on the user's device.
  • deviceModel (string): unique identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g., google/coral.
  • deviceBrand (string): unique identifier of the user's device brand, e.g., google.
  • deviceType (string): the type (also known as form factor) of the user's device, e.g., PHONE.
  • countryCode (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).
  • deviceRamBucket (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.).
  • deviceSocMake (string): Make of the device's primary system-on-chip, e.g., Samsung. Reference
  • deviceSocModel (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". Reference
  • deviceCpuMake (string): Make of the device's CPU, e.g., Qualcomm.
  • deviceCpuModel (string): Model of the device's CPU, e.g., "Kryo 240".
  • deviceGpuMake (string): Make of the device's GPU, e.g., ARM.
  • deviceGpuModel (string): Model of the device's GPU, e.g., Mali.
  • deviceGpuVersion (string): Version of the device's GPU, e.g., T750.
  • deviceVulkanVersion (string): Vulkan version of the device, e.g., "4198400".
  • deviceGlEsVersion (string): OpenGL ES version of the device, e.g., "196610".
  • deviceScreenSize (string): Screen size of the device, e.g., NORMAL, LARGE.
  • deviceScreenDpi (string): Screen density of the device, e.g., mdpi, hdpi.

Required permissions: to access this resource, the calling user needs the View app information (read-only) permission for the app.

JSON representation
{
  "name": string,
  "freshnessInfo": {
    object (FreshnessInfo)
  }
}
Fields
name

string

Identifier. The resource name.

Format: apps/{app}/stuckBackgroundWakelockRateMetricSet

freshnessInfo

object (FreshnessInfo)

Summary about data freshness in this resource.

Methods

get

Describes the properties of the metric set.

query

Queries the metrics in the metric set.