Anomalies

L'API Google Play Developer Reporting vous permet de récupérer les anomalies détectées dans les ensembles de métriques. Une anomalie est générée chaque fois que la valeur de la métrique dépasse la plage attendue, basée sur les 28 jours de valeurs précédents pour cette même métrique. Les anomalies pour des jours consécutifs sont fusionnées dans un seul résultat d'anomalie.

Si l'augmentation anormale de la valeur d'une métrique persiste suffisamment longtemps, le modèle de détection s'adapte et élargit les valeurs attendues jusqu'à ce que les points de données suivants ne soient plus considérés comme anormaux.

Récupérer les anomalies

Les anomalies peuvent être répertoriées à l'aide de la méthode anomalies.list.

Requête simple:

Cette requête HTTP GET spécifie le paramètre de nom d'application et renvoie la liste complète des anomalies détectées par votre application.

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

Réponse en cas d'anomalie:

La réponse inclut suffisamment d'informations pour interroger l'emplacement exact de l'anomalie:

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

Requête filtrée:

Il est possible d'appliquer un filtre pour ne renvoyer que les anomalies qui étaient actives pendant une période spécifique. Pour ce faire, spécifiez la fonction activeBetween(start, end) dans le champ de filtre de la requête. Il est possible de spécifier des limites illimitées de chaque côté de la plage avec le mot clé spécial UNBOUNDED. Si vous spécifiez une limite de début ou de fin, elle doit respecter le format RFC 3339, par exemple 2022-02-22T04:00Z.

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

Réponse filtrée:

La réponse n'inclut que les anomalies qui étaient actives pendant la période spécifiée:

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

Métriques disponibles

Actuellement, toutes les métriques et tous les ensembles de métriques ne sont pas compatibles avec la détection d'anomalies. Voici la liste des métriques actuellement compatibles:

Ensemble de métriques Métriques acceptées
vitals.anrrate Taux d'ar
vitals.crashrate Taux de plantages
vitals.excessivewakeuprate Taux de wakeups excessif
vitals.stuckbackgroundwakelockrate Taux de wakelock bloqué