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 inframeworks/base/cmds/statsd
StatsCompanionService
, situata inframeworks/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/libstats
→packages/modules/StatsD/lib/libstats
system/core/libstats/socket
→packages/modules/StatsD/lib/libstatssocket
system/core/libstats/pull
→packages/modules/StatsD/lib/libstatspull
frameworks/base/cmds/StatsD
→packages/modules/StatsD/bin
frameworks/base/apex/StatsD
→- Copia il livello superiore così com'è
- Sposta
jni
inframework/jni
- Sposta i file di primo livello nella directory
/apex
frameworks/base/apex/StatsD/\*
→packages/modules/StatsD/apex/\*
frameworks/base/apex/StatsD/jni
→packages/modules/StatsD/apex/framework/jni
cts/hostsidetests/StatsD
→packages/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.