REST Resource: vitals.stuckbackgroundwakelockrate
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Recurso: StuckBackgroundWakelockRateMetricSet
Es un recurso singleton que representa el conjunto de métricas de bloqueo de activación en segundo plano atascado.
Este conjunto de métricas contiene datos de la duración del bloqueo de activación de PowerManager combinados con datos del estado del proceso para generar una métrica normalizada independiente de los recuentos de usuarios.
Períodos de agregación admitidos:
DAILY
: Las métricas se agregan en intervalos de fechas del calendario. Debido a limitaciones históricas, la única zona horaria admitida es America/Los_Angeles
.
Métricas admitidas:
stuckBgWakelockRate
(google.type.Decimal
): Porcentaje de usuarios distintos en el período de agregación que tuvieron un bloqueo de activación en segundo plano durante más de 1 hora.
stuckBgWakelockRate7dUserWeighted
(google.type.Decimal
): Valor del promedio móvil de stuckBgWakelockRate
en los últimos 7 días. Los valores diarios se ponderan según el recuento de usuarios distintos del día.
stuckBgWakelockRate28dUserWeighted
(google.type.Decimal
): Valor del promedio móvil de stuckBgWakelockRate
en los últimos 28 días. Los valores diarios se ponderan según el recuento de usuarios distintos del día.
distinctUsers
(google.type.Decimal
): Es el recuento de usuarios distintos en el período de agregación que se usaron como valor de normalización para la métrica stuckBgWakelockRate
. Se incluye a un usuario en esta métrica si su app realizó algún trabajo en el dispositivo, es decir, no solo el uso activo en primer plano, sino también el trabajo en segundo plano. Se debe tener cuidado de no agregar este recuento aún más, ya que esto puede provocar que los usuarios se cuenten varias veces. El valor se redondea al múltiplo más cercano de 10, 100, 1,000 o 1,000,000, según la magnitud del valor.
Dimensiones admitidas:
apiLevel
(string
): Es el nivel de API de Android que se ejecutaba en el dispositivo del usuario, p.ej., 26.
versionCode
(int64
): Es la versión de la app que se ejecutaba en el dispositivo del usuario.
deviceModel
(string
): Es el identificador único del modelo de dispositivo del usuario. El formato del identificador es "deviceBrand/device", donde deviceBrand corresponde a Build.BRAND y device corresponde a Build.DEVICE, p.ej., google/coral.
deviceBrand
(string
): Es el identificador único de la marca del dispositivo del usuario, p.ej., google.
deviceType
(string
): Es el tipo (también conocido como factor de forma) del dispositivo del usuario, p.ej., TELÉFONO
countryCode
(string
): Es el país o la región del dispositivo del usuario según su dirección IP, representado como un código ISO-3166 de 2 letras (p.ej., US para Estados Unidos).
deviceRamBucket
(int64
): RAM del dispositivo, en MB, en intervalos (3 GB, 4 GB, etcétera).
deviceSocMake
(string
): Marca del sistema en chip principal del dispositivo, p.ej., Samsung. Referencia
deviceSocModel
(string
): Modelo del sistema en chip principal del dispositivo, p.ej., "Exynos 2100". Referencia
deviceCpuMake
(string
): Marca de la CPU del dispositivo, p.ej., Qualcomm.
deviceCpuModel
(string
): Modelo de la CPU del dispositivo, p.ej., "Kryo 240".
deviceGpuMake
(string
): Marca de la GPU del dispositivo, p.ej., ARM.
deviceGpuModel
(string
): Modelo de la GPU del dispositivo, p.ej., Malí
deviceGpuVersion
(string
): Versión de la GPU del dispositivo, p.ej., T750
deviceVulkanVersion
(string
): Versión de Vulkan del dispositivo, p.ej., "4198400".
deviceGlEsVersion
(string
): Versión de OpenGL ES del dispositivo, p.ej., "196610".
deviceScreenSize
(string
): Tamaño de la pantalla del dispositivo, p.ej., NORMAL, GRANDE.
deviceScreenDpi
(string
): Densidad de pantalla del dispositivo, p.ej., mdpi, hdpi.
Permisos obligatorios: Para acceder a este recurso, el usuario que realiza la llamada necesita el permiso Ver información de la app (solo lectura) para la app.
Representación JSON |
{
"name": string,
"freshnessInfo": {
object (FreshnessInfo )
}
} |
Campos |
name |
string
Identificador. Nombre del recurso. Formato: apps/{app}/stuckBackgroundWakelockRateMetricSet
|
freshnessInfo |
object (FreshnessInfo )
Es un resumen sobre la actualización de datos en este recurso.
|
Métodos |
|
Describe las propiedades del conjunto de métricas. |
|
Consulta las métricas del conjunto de métricas. |
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003eThe StuckBackgroundWakelockRateMetricSet resource provides insights into wakelock durations and process state data, normalized to user counts.\u003c/p\u003e\n"],["\u003cp\u003eMetrics offered include the percentage of users with background wakelocks exceeding an hour and rolling averages (7-day, 28-day).\u003c/p\u003e\n"],["\u003cp\u003eSupported dimensions encompass device attributes (API level, model, brand, type, RAM, SoC, CPU, GPU), user location (country code), and app version.\u003c/p\u003e\n"],["\u003cp\u003eThis metric set uses a daily aggregation period with the \u003ccode\u003eAmerica/Los_Angeles\u003c/code\u003e timezone due to historical reasons.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003edistinctUsers\u003c/code\u003e metric counts users whose app was active, including background work, and is rounded for privacy.\u003c/p\u003e\n"]]],["The `StuckBackgroundWakelockRateMetricSet` resource provides metrics on background wakelock duration, normalized for user counts. It supports daily aggregation, with data available in `stuckBgWakelockRate`, 7 and 28-day user-weighted rolling averages, and `distinctUsers`. Metrics can be filtered by various device and user dimensions like API level, device model, country, RAM, and GPU. The resource offers `get` and `query` methods to retrieve data, and requires read-only app information permissions.\n"],null,["# REST Resource: vitals.stuckbackgroundwakelockrate\n\n- [Resource: StuckBackgroundWakelockRateMetricSet](#StuckBackgroundWakelockRateMetricSet)\n - [JSON representation](#StuckBackgroundWakelockRateMetricSet.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: StuckBackgroundWakelockRateMetricSet\n----------------------------------------------\n\nSingleton resource representing the set of Stuck Background Wakelocks metrics.\n\nThis metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts.\n\n**Supported aggregation periods:**\n\n- [DAILY](/play/developer/reporting/reference/rest/v1alpha1/AggregationPeriod#ENUM_VALUES.DAILY): metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`.\n\n**Supported metrics:**\n\n- `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.\n- `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.\n- `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.\n- `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.\n\n**Supported dimensions:**\n\n- `apiLevel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): the API level of Android that was running on the user's device, e.g., 26.\n- `versionCode` ([int64](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.int64_value)): version of the app that was running on the user's device.\n- `deviceModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): 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.\n- `deviceBrand` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): unique identifier of the user's device brand, e.g., google.\n- `deviceType` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): the type (also known as form factor) of the user's device, e.g., PHONE.\n- `countryCode` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): 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).\n- `deviceRamBucket` ([int64](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.int64_value)): RAM of the device, in MB, in buckets (3GB, 4GB, etc.).\n- `deviceSocMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER)\n- `deviceSocModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL)\n- `deviceCpuMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's CPU, e.g., Qualcomm.\n- `deviceCpuModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's CPU, e.g., \"Kryo 240\".\n- `deviceGpuMake` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Make of the device's GPU, e.g., ARM.\n- `deviceGpuModel` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Model of the device's GPU, e.g., Mali.\n- `deviceGpuVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Version of the device's GPU, e.g., T750.\n- `deviceVulkanVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Vulkan version of the device, e.g., \"4198400\".\n- `deviceGlEsVersion` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): OpenGL ES version of the device, e.g., \"196610\".\n- `deviceScreenSize` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Screen size of the device, e.g., NORMAL, LARGE.\n- `deviceScreenDpi` ([string](/play/developer/reporting/reference/rest/v1alpha1/anomalies#DimensionValue.FIELDS.string_value)): Screen density of the device, e.g., mdpi, hdpi.\n\n**Required permissions** : to access this resource, the calling user needs the *View app information (read-only)* permission for the app.\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"name\": string, \"freshnessInfo\": { object (/play/developer/reporting/reference/rest/v1alpha1/FreshnessInfo) } } ``` |\n\n| Fields ||\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `string` Identifier. The resource name. Format: apps/{app}/stuckBackgroundWakelockRateMetricSet |\n| `freshnessInfo` | `object (`[FreshnessInfo](/play/developer/reporting/reference/rest/v1alpha1/FreshnessInfo)`)` Summary about data freshness in this resource. |\n\n| Methods ------- ||\n|---------------------------------------------------------------------------------------------------------|---------------------------------------------|\n| ### [get](/play/developer/reporting/reference/rest/v1alpha1/vitals.stuckbackgroundwakelockrate/get) | Describes the properties of the metric set. |\n| ### [query](/play/developer/reporting/reference/rest/v1alpha1/vitals.stuckbackgroundwakelockrate/query) | Queries the metrics in the metric set. |"]]