Anomalie

L'API Google Play Developer Reporting ti consente di recuperare le anomalie rilevate nei set di metriche. Viene generata un'anomalia ogni volta che il valore della metrica supera l'intervallo previsto della metrica, in base ai valori dei 28 giorni precedenti per la stessa metrica. Le anomalie relative ai giorni consecutivi vengono unite in un unico risultato di anomalie.

Se l'aumento anomalo del valore di una metrica persiste per un periodo di tempo sufficientemente lungo, il modello di rilevamento si adatta e amplia i valori previsti fino a quando i punti dati successivi non vengono più considerati anomali.

Recupero delle anomalie

Le anomalie possono essere elencate con il metodo anomalies.list.

Richiesta semplice:

Questa richiesta HTTP GET specifica il parametro del nome dell'applicazione e restituisce l'elenco completo di anomalie rilevate per la tua applicazione.

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

Risposta alle anomalie:

La risposta include informazioni sufficienti per eseguire query specifiche su dove si è verificata l'anomalia:

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

Richiesta filtrata:

È possibile applicare un filtro per restituire solo le anomalie attive in un determinato periodo di tempo. A questo scopo, specifica la funzione activeBetween(start, end) nel campo del filtro nella richiesta. È possibile specificare limiti illimitati in entrambi i lati dell'intervallo con la parola chiave speciale UNBOUNDED. Se specifichi un limite di inizio o fine, deve seguire il formato RFC 3339, ad esempio 2022-02-22T04:00Z.

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

Risposta filtrata:

La risposta include solo le anomalie attive nell'intervallo di tempo specificato:

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

Metriche disponibili

Al momento, non tutte le metriche e gli insiemi di metriche supportano il rilevamento di anomalie. Ecco l'elenco delle metriche attualmente supportate:

Set di metriche Metriche supportate
vitals.anrrate CANNOT TRANSLATE
vitals.crashrate Percentuale di arresti anomali
vitals.excessivewakeuprate Percentuale di risveglio eccessiva
vitals.stuckbackgroundwakelockrate Tasso di wakelock bloccato