Аномалии

Google Play Developer Reporting API позволяет выявлять аномалии, обнаруженные в наборах показателей. Аномалия создается каждый раз, когда значение метрики превышает ожидаемый диапазон метрики на основе значений той же метрики за предыдущие 28 дней. Аномалии для последовательных дней объединяются в один результат аномалии.

Если аномальное увеличение значения метрики сохраняется достаточно долго, модель обнаружения адаптируется и расширяет ожидаемые значения до тех пор, пока последующие точки данных больше не будут считаться аномальными.

Извлечение аномалий

Список аномалий можно вывести с помощью метода anomalies.list .

Простой запрос:

Этот HTTP- GET указывает параметр имени приложения и возвращает полный список обнаруженных аномалий для вашего приложения.

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies

Аномальный ответ:

Ответ включает в себя достаточно информации, чтобы узнать, где именно произошла аномалия:

{
 
"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"
       
}
     
}
   
},
 
]
}

Отфильтрованный запрос:

Можно применить фильтр для возврата только тех аномалий, которые были активны в определенный период времени. Для этого в поле фильтра в запросе укажите activeBetween(start, end) . Можно указать неограниченные пределы с любой стороны диапазона с помощью специального ключевого слова UNBOUNDED . Если указывается начальная или конечная граница, она должна соответствовать формату RFC 3339, например 2022-02-22T04:00Z .

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)

Отфильтрованный ответ:

В ответ включены только те аномалии, которые были активны в указанном временном диапазоне:

{
 
"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"
       
}
     
}
   
},
 
]
}

Доступные показатели

В настоящее время не все метрики и наборы метрик поддерживают обнаружение аномалий. Вот список поддерживаемых в настоящее время метрик:

Набор показателей Поддерживаемые показатели
vitals.anrrate anrRate
vitals.crashrate крашрейт
vitals.excessivewakeuprate чрезмерныйWakeupRate
vitals.stuckbackgroundwakelockrate застрялBgWakelockRate