Statistiche

Il modulo Statsd include statsd, un servizio nativo che viene eseguito in background per raccogliere le metriche, e il servizio Java StatsCompanionService, che viene eseguito nel processo di sistema e collega statsd e Java. Questo modulo è aggiornabile, ovvero può ricevere aggiornamenti delle funzionalità (ad esempio aggiornamenti delle metriche utilizzate nella raccolta dei dati) al di fuori del normale ciclo di rilascio di Android.

Confine modulo

Statsd è il punto di contatto principale tra la piattaforma e la raccolta dei dati sulla sicurezza del lancio. Il modulo statistiche include il seguente codice.

  • statsd, situata in frameworks/base/cmds/statsd

  • StatsCompanionService, situata in frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java

  • Un sottoinsieme delle strutture protobuf della piattaforma, situate principalmente in frameworks/base/core/proto

Statistiched è un servizio nativo in grado di durare più a lungo del framework e rilevare gli arresti anomali nello stesso system_server.

In Android 12, il codice del modulo Statsd viene spostato da frameworks/base/cmds/StatsD, frameworks/base/apex/StatsD e system/core/libstats.

Nuova struttura del progetto

  • system/core/libstatspackages/modules/StatsD/lib/libstats
    • system/core/libstats/socketpackages/modules/StatsD/lib/libstatssocket
    • system/core/libstats/pullpackages/modules/StatsD/lib/libstatspull
  • frameworks/base/cmds/StatsDpackages/modules/StatsD/bin
  • frameworks/base/apex/StatsD
    • Copia il livello superiore così com'è
    • Sposta jni in framework/jni
    • Sposta i file di primo livello nella directory /apex
      • frameworks/base/apex/StatsD/\*packages/modules/StatsD/apex/\*
      • frameworks/base/apex/StatsD/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/modules/StatsD/tests

Comandi di esempio per lo spostamento delle patch

Applica le modifiche ai seguenti rami:

  • goog/mainline-prod
  • goog/main
  • goog/\*-plus-aosp
  • aosp/main

La cronologia dei file all'interno di Statsd deve essere conservata.

Formato del modulo

Il modulo statsd (com.android.os.statsd) è in formato APEX ed è disponibile per i dispositivi con Android 11 o versioni successive.

Dipendenze dei moduli

Il modulo Statsd presenta un insieme di API @hide per registrare gli eventi del sistema. Per il codice Java, la maggior parte delle API @hide viene sottoposta a refactoring per essere costruita su un insieme più piccolo di metodi @hide con tag, con un piccolo codice di collegamento generato integrato.@SystemApi Per il codice nativo, le funzioni native esistenti vengono ristrutturate per diventare API C VNDK ufficiali, con codice di collegamento generato.

Personalizzazione

Il modulo Statsd non supporta la personalizzazione.

Test

La suite per il test di compatibilità Android (Android Compatibility Test Suite, CTS) verifica la funzionalità delle statistiche e degli atom da cui dipende la gestione delle release.