Statistikd

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

  • StatsCompanionService , terletak di frameworks/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/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 tingkat atas apa adanya
    • Pindahkan jni ke dalam 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 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.