Statistik

Modul Statsd mencakup Statsd, layanan native yang berjalan di latar belakang pengumpulan metrik, dan layanan Java StatsCompanionService, yang berjalan dalam proses sistem serta menghubungkan Statsd dan Java. Modul ini dapat diperbarui, artinya dapat menerima update fungsi (seperti update pada metrik yang digunakan dalam pengumpulan data) di luar siklus rilis Android normal.

Batas modul

Statsd adalah poin kontak utama antara platform dan pengumpulan data keamanan peluncuran. Modul statsd menyertakan kode berikut.

  • statsd, berlokasi di frameworks/base/cmds/statsd

  • StatsCompanionService, yang berada di frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java

  • Subkumpulan struktur protobuf platform, yang sebagian besar 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/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
    • Menyalin tingkat teratas apa adanya
    • Memindahkan jni ke framework/jni
    • Memindahkan file tingkat teratas 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

Contoh perintah pemindahan patch

Terapkan perubahan pada cabang berikut:

  • goog/mainline-prod
  • goog/main
  • goog/\*-plus-aosp
  • aosp/main

Histori 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 menampilkan serangkaian @hide API untuk mencatat peristiwa ke dalam log dari sistem. Untuk kode Java, sebagian besar @hide API difaktorkan ulang untuk di-build pada kumpulan metode berlabel @SystemApi yang lebih kecil, dengan beberapa kode lem kecil yang dihasilkan secara bawaan. Untuk kode native, fungsi native yang ada difaktorkan ulang menjadi VNDK C API 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.