Modul Statsd mencakup Statsd, layanan native yang berjalan di latar belakang
pengumpulan metrik, dan layanan Java StatsCompanionService
, yang berjalan dalam
proses sistem serta menghubungkan Statsd dan Java. Modul ini dapat diperbarui,
artinya dapat menerima update fungsi (seperti update pada metrik
yang digunakan dalam pengumpulan data) di luar siklus rilis Android normal.
Batas modul
Statsd adalah poin kontak utama antara platform dan pengumpulan data keamanan peluncuran. Modul statsd menyertakan kode berikut.
statsd
, berlokasi diframeworks/base/cmds/statsd
StatsCompanionService
, yang berada diframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Subkumpulan struktur protobuf platform, yang sebagian besar terletak di
frameworks/base/core/proto
Sebagai layanan native, statsd dapat bertahan lebih lama dari framework dan mendeteksi error di
system_server
itu sendiri.
Di Android 12, kode modul Statsd
dipindahkan dari frameworks/base/cmds/StatsD
,
frameworks/base/apex/StatsD
, dan system/core/libstats
.
Struktur project baru
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
→- Menyalin tingkat teratas apa adanya
- Memindahkan
jni
keframework/jni
- Memindahkan file tingkat teratas ke direktori
/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
Contoh perintah pemindahan patch
Terapkan perubahan pada cabang berikut:
goog/mainline-prod
goog/main
goog/\*-plus-aosp
aosp/main
Histori file dalam Statsd harus dipertahankan.
Format modul
Modul statsd (com.android.os.statsd
) dalam
format APEX dan tersedia untuk perangkat
yang menjalankan Android 11 atau yang lebih tinggi.
Dependensi modul
Modul Statsd menampilkan serangkaian @hide
API untuk mencatat peristiwa ke dalam log dari
sistem. Untuk kode Java, sebagian besar @hide
API difaktorkan ulang untuk di-build pada
kumpulan metode berlabel @SystemApi
yang lebih kecil, dengan beberapa kode lem
kecil yang dihasilkan secara bawaan. Untuk kode native, fungsi native yang ada difaktorkan ulang
menjadi VNDK C API resmi, dengan glue yang dihasilkan.
Penyesuaian
Modul Statsd tidak mendukung penyesuaian.
Pengujian
Android Compatibility Test Suite (CTS) memverifikasi fungsi statsd dan atom yang menjadi dasar pengelolaan rilis.