Anomali

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

Jika peningkatan nilai metrik yang tidak wajar terjadi selama yang cukup lama, model deteksi akan beradaptasi dan memperluas nilai yang diharapkan hingga titik data berikutnya tidak dianggap sebagai anomali lagi.

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:

Responsnya mencakup cukup informasi untuk mengkueri secara persis tempat 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 tanpa batas di kedua sisi rentang dengan kata kunci khusus UNBOUNDED. Jika ditentukan, batas awal atau akhir 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:

Responsnya 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

Tidak semua metrik dan kumpulan metrik saat ini mendukung deteksi anomali. Berikut ini daftar metrik yang saat ini didukung:

Kumpulan metrik Metrik yang didukung
vitals.anrrate Tarif
vitals.crashrate RasioKerusakan
vitals.excessivewakeuprate Rasio Bangun berlebihan
vitals.stuckbackgroundwakelockrate informasi