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,
il che significa che 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 del modulo
Statsd è il punto di contatto principale tra la piattaforma e la raccolta dei dati di sicurezza del lancio. Il modulo statsd include il seguente codice.
statsd
, con sede aframeworks/base/cmds/statsd
StatsCompanionService
, con sede aframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Un sottoinsieme delle strutture protobuf della piattaforma, situate principalmente in
frameworks/base/core/proto
In quanto servizio nativo, statsd può sopravvivere al framework e rilevare arresti anomali in
system_server
stesso.
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 del modulo
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 basata su un insieme più piccolo di metodi taggati @SystemApi
, con un piccolo codice di collegamento generato integrato. Per il codice nativo, le funzioni native esistenti vengono sottoposte a refactoring
per diventare API C VNDK ufficiali, con codice di collegamento generato.
Personalizzazione
Il modulo Statsd non supporta la personalizzazione.
Test
La suite di test di compatibilità (CTS) di Android verifica la funzionalità di statsd e degli atomi da cui dipende la gestione delle release.