Anomalien

Mit der Google Play Developer Reporting API können Sie Anomalien abrufen, die in Messwertsätzen erkannt wurden. Eine Anomalie wird immer dann erzeugt, wenn der Messwert den erwarteten Bereich des Messwerts überschreitet, basierend auf den Werten der letzten 28 Tage für denselben Messwert. Anomalien für aufeinanderfolgende Tage werden zu einem einzigen Anomalieergebnis zusammengeführt.

Wenn die anormale Steigerung des Werts eines Messwerts lange genug anhält, passt sich das Erkennungsmodell an und erweitert die erwarteten Werte, bis nachfolgende Datenpunkte nicht mehr als anomal gelten.

Anomalien abrufen

Anomalien können mit der Methode anomalies.list aufgelistet werden.

Einfache Anfrage:

Diese HTTP-GET-Anfrage gibt den Parameter für den Anwendungsnamen an und gibt die vollständige Liste der erkannten Anomalien für die Anwendung zurück.

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

Anomalieantwort:

Die Antwort enthält genügend Informationen, um genau zu abfragen, wo die Anomalie aufgetreten ist:

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

Gefilterte Anfrage:

Sie können einen Filter anwenden, um nur Anomalien zurückzugeben, die in einem bestimmten Zeitraum aktiv waren. Geben Sie dazu die Funktion activeBetween(start, end) im Filterfeld in der Anfrage an. Mit dem speziellen Keyword UNBOUNDED können Sie auf beiden Seiten des Bereichs unbegrenzte Limits angeben. Wenn Sie eine Start- oder Endgrenze angeben, muss diese dem RFC 3339-Format entsprechen, z.B. 2022-02-22T04:00Z.

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

Gefilterte Antwort:

Die Antwort enthält nur Anomalien, die im angegebenen Zeitraum aktiv waren:

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

Verfügbare Messwerte

Die Anomalieerkennung wird derzeit nicht von allen Messwerten und Messwertsätzen unterstützt. Hier eine Liste der aktuell unterstützten Messwerte:

Messwertsatz Unterstützte Messwerte
vitals.anrrate AnhrRate
vitals.crashrate Absturzrate
vitals.excessivewakeuprate übermäßige WakeupRate
vitals.stuckbackgroundwakelockrate hängenderBgWakelockRate