Anomalien

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

Wenn der anomale Anstieg des Werts eines Messwerts lange genug anhält, passt sich das Erkennungsmodell an und weitet die erwarteten Werte aus, bis nachfolgende Datenpunkte nicht mehr als anomal gelten.

Anomalien abrufen

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

Einfache Anfrage:

Bei dieser HTTP-GET-Anfrage wird der Parameter für den Anwendungsnamen angegeben und die vollständige Liste der erkannten Anomalien für Ihre Anwendung zurückgegeben.

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

Reaktion auf Anomalien:

Die Antwort enthält genügend Informationen, um genau abzufragen, 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 unbegrenzte Grenzwerte auf beiden Seiten des Bereichs 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

Derzeit wird die Anomalieerkennung nicht für alle Messwerte und Messwertgruppen unterstützt. Hier ist die Liste der derzeit unterstützten Messwerte:

Messwertgruppe Unterstützte Messwerte
vitals.anrrate anrRate
vitals.crashrate crashRate
vitals.excessivewakeuprate excessiveWakeupRate
vitals.stuckbackgroundwakelockrate stuckBgWakelockRate