REST Resource: vitals.crashrate
Stay organized with collections
Save and categorize content based on your preferences.
Resource: CrashRateMetricSet
Singleton resource representing the set of crashrate metrics.
This metric set contains crashes data combined with usage 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
.
HOURLY
: metrics are aggregated in hourly intervals. The default and only supported timezone is UTC
.
Supported metrics:
crashRate
(google.type.Decimal
): Percentage of distinct users in the aggregation period that experienced at least one crash.
crashRate7dUserWeighted
(google.type.Decimal
): Rolling average value of crashRate
in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.
crashRate28dUserWeighted
(google.type.Decimal
): Rolling average value of crashRate
in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.
userPerceivedCrashRate
(google.type.Decimal
): Percentage of distinct users in the aggregation period that experienced at least one crash while they were actively using your app (a user-perceived crash). An app is considered to be in active use if it is displaying any activity or executing any foreground service.
userPerceivedCrashRate7dUserWeighted
(google.type.Decimal
): Rolling average value of userPerceivedCrashRate
in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.
userPerceivedCrashRate28dUserWeighted
(google.type.Decimal
): Rolling average value of userPerceivedCrashRate
in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.
distinctUsers
(google.type.Decimal
): Count of distinct users in the aggregation period that were used as normalization value for the crashRate
and userPerceivedCrashRate
metrics. A user is counted in this metric if they used the app actively during the aggregation period. An app is considered to be in active use if it is displaying any activity or executing any foreground service. 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.
Related metric sets:
vitals.errors
contains unnormalized version (absolute counts) of crashes.
vitals.errors
contains normalized metrics about ANRs, another stability metric.
JSON representation |
{
"name": string,
"freshnessInfo": {
object (FreshnessInfo )
}
} |
Fields |
name |
string
Identifier. The resource name. Format: apps/{app}/crashRateMetricSet
|
freshnessInfo |
object (FreshnessInfo )
Summary about data freshness in this resource.
|
Methods |
|
Describes the properties of the metric set. |
|
Queries the metrics in the metric set. |
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-03-19 UTC.
[null,null,["Last updated 2025-03-19 UTC."],[[["\u003cp\u003eThe CrashRateMetricSet resource provides normalized crash rate metrics for your app, combining crash data with usage data.\u003c/p\u003e\n"],["\u003cp\u003eIt supports daily and hourly aggregation periods, along with various crash rate metrics (including user-perceived rates and rolling averages).\u003c/p\u003e\n"],["\u003cp\u003eYou can break down crash rate data by dimensions such as API level, device model, country, and more for detailed analysis.\u003c/p\u003e\n"],["\u003cp\u003eCrashRateMetricSet requires the "View app information (read-only)" permission and is related to other metric sets like \u003ccode\u003evitals.errors\u003c/code\u003e for unnormalized crash counts and ANR rates.\u003c/p\u003e\n"],["\u003cp\u003eThe resource includes information about data freshness and offers methods to describe its properties and query the crash rate metrics.\u003c/p\u003e\n"]]],["The `CrashRateMetricSet` resource provides normalized crash metrics for apps, incorporating both crash and usage data. Key metrics include `crashRate`, `userPerceivedCrashRate`, and their 7-day and 28-day user-weighted rolling averages. Data can be aggregated daily (Los Angeles timezone) or hourly (UTC timezone), with `distinctUsers` also available. It supports filtering by various dimensions, such as `apiLevel`, `versionCode`, `deviceModel`, and `countryCode`. Access requires \"View app information\" permission. Methods: Get, Query.\n"],null,["# REST Resource: vitals.crashrate\n\n- [Resource: CrashRateMetricSet](#CrashRateMetricSet)\n - [JSON representation](#CrashRateMetricSet.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: CrashRateMetricSet\n----------------------------\n\nSingleton resource representing the set of crashrate metrics.\n\nThis metric set contains crashes data combined with usage 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- [HOURLY](/play/developer/reporting/reference/rest/v1alpha1/AggregationPeriod#ENUM_VALUES.HOURLY): metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`.\n\n**Supported metrics:**\n\n- `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash.\n- `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.\n- `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.\n- `userPerceivedCrashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash while they were actively using your app (a user-perceived crash). An app is considered to be in active use if it is displaying any activity or executing any foreground service.\n- `userPerceivedCrashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.\n- `userPerceivedCrashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `userPerceivedCrashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. Not supported in HOURLY granularity.\n- `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` and `userPerceivedCrashRate` metrics. A user is counted in this metric if they used the app actively during the aggregation period. An app is considered to be in active use if it is displaying any activity or executing any foreground service. 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**Related metric sets:**\n\n- [vitals.errors](/play/developer/reporting/reference/rest/v1alpha1/vitals.errors.counts#ErrorCountMetricSet) contains unnormalized version (absolute counts) of crashes.\n- [vitals.errors](/play/developer/reporting/reference/rest/v1alpha1/vitals.anrrate#AnrRateMetricSet) contains normalized metrics about ANRs, another stability metric.\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}/crashRateMetricSet |\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.crashrate/get) | Describes the properties of the metric set. |\n| ### [query](/play/developer/reporting/reference/rest/v1alpha1/vitals.crashrate/query) | Queries the metrics in the metric set. |"]]