Anomali

Google Play Developer Reporting API memungkinkan Anda mengambil anomali yang terdeteksi dalam set metrik. Anomali dihasilkan setiap kali nilai metrik melebihi rentang nilai yang diharapkan untuk metrik tersebut, berdasarkan 28 hari nilai sebelumnya untuk metrik yang sama. Anomali untuk hari-hari berturut-turut digabungkan menjadi satu hasil anomali.

Jika peningkatan nilai metrik yang tidak normal berlanjut cukup lama, model deteksi akan beradaptasi dan memperluas nilai yang diharapkan hingga titik data berikutnya tidak lagi dianggap tidak normal.

Mengambil anomali

Anomali dapat dicantumkan dengan metode anomalies.list.

Permintaan sederhana:

Permintaan GET HTTP ini menentukan parameter nama aplikasi dan menampilkan daftar lengkap anomali yang terdeteksi untuk aplikasi Anda.

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

Respons anomali:

Respons menyertakan informasi yang cukup untuk menanyakan secara tepat di mana anomali terjadi:

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

Permintaan yang difilter:

Anda dapat menerapkan filter untuk hanya menampilkan anomali yang aktif pada jangka waktu tertentu. Untuk melakukannya, tentukan fungsi activeBetween(start, end) di kolom filter dalam permintaan. Anda dapat menentukan batas yang tidak terikat di kedua sisi rentang dengan kata kunci khusus UNBOUNDED. Jika menentukan batas awal atau akhir, batas tersebut harus mengikuti format RFC 3339, misalnya 2022-02-22T04:00Z.

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

Respons yang difilter:

Respons hanya mencakup anomali yang aktif dalam rentang waktu yang ditentukan:

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

Metrik yang tersedia

Saat ini, tidak semua metrik dan set metrik mendukung deteksi anomali. Berikut daftar metrik yang didukung saat ini:

Set metrik Metrik yang didukung
vitals.anrrate anrRate
vitals.crashrate crashRate
vitals.excessivewakeuprate excessiveWakeupRate
vitals.stuckbackgroundwakelockrate stuckBgWakelockRate