Modul Statsd mencakup statsd, layanan native yang berjalan di latar belakang untuk mengumpulkan metrik, dan layanan Java StatsCompanionService
, yang berjalan dalam proses sistem dan menghubungkan statsd dan Java. Modul ini dapat diupdate,
artinya modul ini dapat menerima update fungsi (seperti update 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 keamanan peluncuran. Modul statsd mencakup kode berikut.
statsd
, yang berlokasi diframeworks/base/cmds/statsd
StatsCompanionService
, yang berlokasi diframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Subkumpulan struktur protobuf platform, yang terutama 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
→- Salin tingkat teratas apa adanya
- Pindahkan
jni
keframework/jni
- Pindahkan 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 untuk 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 menyajikan serangkaian API @hide
untuk mencatat peristiwa dari sistem. Untuk kode Java, sebagian besar API @hide
di-refactor untuk dibangun di atas serangkaian kecil metode yang diberi tag @SystemApi
, dengan beberapa kode lem kecil yang dihasilkan dan disertakan. Untuk kode native, fungsi native yang ada di-refactor
agar menjadi API C VNDK 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.