Modul Statsd mencakup statsd, layanan asli yang berjalan di latar belakang yang mengumpulkan metrik, dan layanan Java StatsCompanionService
, yang berjalan dalam proses sistem dan menjembatani statsd dan Java. Modul ini dapat diperbarui, artinya modul ini dapat menerima pembaruan fungsi (seperti pembaruan pada metrik yang digunakan dalam pengumpulan data) di luar siklus rilis normal Android.
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
Bagian dari struktur protobuf platform, yang terletak terutama di
frameworks/base/core/proto
Sebagai layanan asli, statsd dapat bertahan lebih lama dari kerangka kerja dan mendeteksi kerusakan pada 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 tingkat atas apa adanya
- Pindahkan
jni
ke dalamframework/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 pada cabang berikut:
-
goog/mainline-prod
-
goog/main
-
goog/\*-plus-aosp
-
aosp/main
Riwayat 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 lebih tinggi.
Ketergantungan modul
Modul Statsd menyajikan serangkaian @hide
API untuk mencatat peristiwa dari sistem. Untuk kode Java, sebagian besar @hide
API difaktorkan ulang untuk dibuat pada kumpulan metode yang diberi tag @SystemApi
yang lebih kecil, dengan beberapa kode lem kecil yang dihasilkan di dalamnya. Untuk kode asli, fungsi asli yang sudah ada difaktorkan ulang menjadi API VNDK C resmi, dengan dihasilkan lem.
Kustomisasi
Modul Statsd tidak mendukung penyesuaian.
Pengujian
Android Compatibility Test Suite (CTS) memverifikasi fungsi statsd dan atom yang menjadi sandaran manajemen rilis.