A API Google Play Developer Reporting permite recuperar anomalias detectadas em conjuntos de métricas. Uma anomalia é produzida sempre que o valor da métrica excede o intervalo esperado, com base nos últimos 28 dias de valores para essa mesma métrica. As anomalias por dias consecutivos são mescladas em um único resultado de anomalia.
Se o aumento anômalo no valor de uma métrica persistir por tempo suficiente, o modelo de detecção adaptará e ampliará os valores esperados até que os pontos de dados subsequentes não sejam mais considerados anômalos.
Como recuperar anomalias
As anomalias podem ser listadas com o método anomalies.list.
Solicitação simples:
Essa solicitação HTTP GET
especifica o parâmetro de nome do aplicativo e retorna a
lista completa de anomalias detectadas para seu aplicativo.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies
Resposta da anomalia:
A resposta inclui informações suficientes para consultar exatamente onde a anomalia ocorreu:
{
"anomalies": [
{
"name": "apps/com.example.app/anomalies/12345"
"metric_set": "apps/com.example.app/anrRateMetricSet"
"timeline_spec": {
"aggregation_period": "DAILY"
"start_time": {
"year": 2022
"month": 1
"day": 23
"time_zone": {
"id": "America/Los_Angeles"
}
}
"end_time": {
"year": 2022
"month": 1
"day": 23
"time_zone": {
"id": "America/Los_Angeles"
}
}
}
"metric": {
"metric": "anrRate",
"decimal_value": {
"value": "3.1415926535"
}
}
},
{
"name": "apps/com.example.app/anomalies/12345"
"metric_set": "apps/com.example.app/crashRateMetricSet"
"timeline_spec": {
"aggregation_period": "DAILY"
"start_time": {
"year": 2021
"month": 12
"day": 10
"time_zone": {
"id": "America/Los_Angeles"
}
}
"end_time": {
"year": 2021
"month": 12
"day": 10
"time_zone": {
"id": "America/Los_Angeles"
}
}
}
"metric": {
"metric": "crashRate",
"decimal_value": {
"value": "2.7182818284"
}
}
},
]
}
Solicitação filtrada:
É possível aplicar um filtro para retornar apenas anomalias que estavam ativas em um período específico. Para fazer isso, especifique a função activeBetween(start, end)
no campo de filtro na solicitação. É possível especificar limites ilimitados em qualquer lado do intervalo com a palavra-chave especial UNBOUNDED
. Se um limite de início ou fim for especificado, ele precisará seguir o formato RFC 3339, por exemplo, 2022-02-22T04:00Z
.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)
Resposta filtrada:
A resposta inclui apenas anomalias que estavam ativas no período especificado:
{
"anomalies": [
{
"name": "apps/com.example.app/anomalies/12345"
"metric_set": "apps/com.example.app/anrRateMetricSet"
"timeline_spec": {
"aggregation_period": "DAILY"
"start_time": {
"year": 2022
"month": 1
"day": 23
"time_zone": {
"id": "America/Los_Angeles"
}
}
"end_time": {
"year": 2022
"month": 1
"day": 23
"time_zone": {
"id": "America/Los_Angeles"
}
}
}
"metric": {
"metric": "anrRate",
"decimal_value": {
"value": "3.1415926535"
}
}
},
]
}
Métricas disponíveis
No momento, nem todas as métricas e conjuntos de métricas são compatíveis com a detecção de anomalias. Veja a lista de métricas atualmente compatíveis:
Conjunto de métricas | Métricas aceitas |
---|---|
vitals.anrrate |
taxa anr. |
vitals.crashrate |
Taxa de falhas |
vitals.excessivewakeuprate |
Taxa excessiva de ativação |
vitals.stuckbackgroundwakelockrate |
taxa fixa do BgWakelock |