Modul Statsd mencakup statsd, layanan asli yang berjalan di latar belakang mengumpulkan metrik, dan layanan Java StatsCompanionService
, yang berjalan dalam proses sistem dan menjembatani statsd dan Java. Modul ini dapat diperbarui, artinya dapat menerima pembaruan fungsionalitas (seperti pembaruan pada metrik yang digunakan dalam pengumpulan data) di luar siklus rilis Android normal.
Batas modul
Statsd adalah titik kontak utama antara platform dan pengumpulan data keselamatan peluncuran. Modul statsd menyertakan kode berikut.
statsd
, terletak diframeworks/base/cmds/statsd
StatsCompanionService
, terletak diframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Sebuah subset dari struktur protobuf platform, terletak terutama di
frameworks/base/core/proto
Sebagai layanan asli, statsd dapat hidup lebih lama dari kerangka kerja dan mendeteksi kerusakan 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 proyek 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
→- Salin level teratas apa adanya
- Pindahkan
jni
keframework/jni
- Pindahkan file tingkat atas 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
Perintah sampel pemindahan tambalan
Terapkan perubahan ke cabang berikut:
-
goog/mainline-prod
-
goog/master
-
goog/\*-plus-aosp
-
aosp/master
Riwayat untuk file dalam Statsd harus dipertahankan.
Format modul
Modul statsd ( com.google.android.os.statsd
) dalam format APEX dan tersedia untuk perangkat yang menjalankan Android 11 atau lebih tinggi.
Ketergantungan modul
Modul Statsd menyajikan satu set @hide
API untuk mencatat peristiwa dari sistem. Untuk kode Java, sebagian besar @hide
API difaktorkan ulang untuk dibuat pada kumpulan metode yang lebih kecil dengan tag @SystemApi
, dengan beberapa kode glue kecil yang dibuat di dalamnya. Untuk kode asli, fungsi asli yang ada difaktorkan ulang menjadi VNDK C API resmi, dengan lem.
Kustomisasi
Modul Statsd tidak mendukung penyesuaian.
Pengujian
Android Compatibility Test Suite (CTS) memverifikasi fungsionalitas statsd dan atom yang bergantung pada manajemen rilis.