Statistik

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 di frameworks/base/cmds/statsd

  • StatsCompanionService , terletak di frameworks/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/libstatspackages/modules/StatsD/lib/libstats
    • system/core/libstats/socketpackages/modules/StatsD/lib/libstatssocket
    • system/core/libstats/pullpackages/modules/StatsD/lib/libstatspull
  • frameworks/base/cmds/StatsDpackages/modules/StatsD/bin
  • frameworks/base/apex/StatsD
    • Salin level teratas apa adanya
    • Pindahkan jni ke framework/jni
    • Pindahkan file tingkat atas ke direktori /apex
      • frameworks/base/apex/StatsD/\*packages/modules/StatsD/apex/\*
      • frameworks/base/apex/StatsD/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/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.