Anormallikler

Google Play Developer Reporting API, metrik kümelerinde tespit edilen anormallikleri almanıza olanak tanır. Anormallik, metrik değeri aynı metriğin önceki 28 günlük değerlerine göre beklenen aralığı her aştığında oluşturulur. Birbirini takip eden günlerdeki anormallikler tek bir anormallik sonucunda birleştirilir.

Bir metriğin değerindeki anormal artış yeterince uzun süre devam ederse algılama modeli uyum sağlar ve sonraki veri noktaları artık anormal kabul edilmeyene kadar beklenen değerleri genişletir.

Anormallikleri alma

Anormallikler, anomalies.list yöntemiyle listelenebilir.

Basit istek:

Bu HTTP GET isteği, uygulama adı parametresini belirtir ve uygulamanız için algılanan anomalilerin tam listesini döndürür.

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

Anormal duruma yanıt:

Yanıt, anormalliğin tam olarak nerede meydana geldiğini sorgulamak için yeterli bilgi içeriyor:

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

Filtrelenen istek:

Yalnızca belirli bir dönemde etkin olan anormallikleri döndürmek için filtre uygulamak mümkündür. Bunu yapmak için istekteki filtre alanında activeBetween(start, end) işlevini belirtin. Özel anahtar kelime UNBOUNDED ile aralığın her iki tarafında sınırsız sınırlar belirtmek mümkündür. Başlangıç veya bitiş sınırı belirtiliyorsa RFC 3339 biçimi (ör. 2022-02-22T04:00Z) kullanılmalıdır.

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

Filtrelenmiş yanıt:

Yanıt yalnızca belirtilen zaman aralığında etkin olan anormallikleri içerir:

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

Kullanılabilir metrikler

Şu anda tüm metrikler ve metrik kümeleri anomali algılamayı desteklememektedir. Şu anda desteklenen metriklerin listesini aşağıda bulabilirsiniz:

Metrik kümesi Desteklenen metrikler
vitals.anrrate anrRate
vitals.crashrate crashRate
vitals.excessivewakeuprate excessiveWakeupRate
vitals.stuckbackgroundwakelockrate stuckBgWakelockRate