Аномалии

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