โมดูล Statsd ประกอบด้วย statsd ซึ่งเป็นบริการในระบบที่ทำงานเบื้องหลังเพื่อรวบรวมเมตริก และบริการ Java StatsCompanionService ซึ่งทำงานในกระบวนการของระบบและเชื่อมต่อ statsd กับ Java โมดูลนี้อัปเดตได้ ซึ่งหมายความว่าโมดูลสามารถรับการอัปเดตฟังก์ชันการทำงาน (เช่น การอัปเดตเมตริกที่ใช้ในการเก็บรวบรวมข้อมูล) นอกรอบการเผยแพร่ Android ปกติ
ขอบเขตของโมดูล
Statsd เป็นจุดติดต่อหลักระหว่างแพลตฟอร์มกับการรวบรวมข้อมูลความปลอดภัยในการเปิดตัว โมดูล statsd มีโค้ดต่อไปนี้
statsdซึ่งอยู่ในframeworks/base/cmds/statsdStatsCompanionServiceซึ่งอยู่ในframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.javaโครงสร้าง protobuf ของแพลตฟอร์มซึ่งเป็นส่วนย่อย โดยส่วนใหญ่อยู่ใน
frameworks/base/core/proto
ในฐานะบริการในระบบ statsd จึงสามารถทำงานได้นานกว่าเฟรมเวิร์กและตรวจหาการขัดข้องใน system_server เอง
ใน Android 12 โค้ดโมดูล Statsd จะย้ายจาก frameworks/base/cmds/StatsD, frameworks/base/apex/StatsD และ system/core/libstats
โครงสร้างโปรเจ็กต์ใหม่
system/core/libstats→packages/modules/StatsD/lib/libstatssystem/core/libstats/socket→packages/modules/StatsD/lib/libstatssocketsystem/core/libstats/pull→packages/modules/StatsD/lib/libstatspull
frameworks/base/cmds/StatsD→packages/modules/StatsD/binframeworks/base/apex/StatsD→- คัดลอกระดับบนสุดตามเดิม
- ย้าย
jniไปที่framework/jni - ย้ายไฟล์ระดับบนสุดไปที่ไดเรกทอรี
/apexframeworks/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
คำสั่งตัวอย่างสำหรับการย้ายแพตช์
ใช้การเปลี่ยนแปลงกับสาขาต่อไปนี้
goog/mainline-prodgoog/maingoog/\*-plus-aospaosp/main
ควรเก็บประวัติของไฟล์ภายใน Statsd ไว้
รูปแบบโมดูล
โมดูล statsd (com.android.os.statsd) อยู่ใน
รูปแบบ APEX และพร้อมใช้งานสำหรับอุปกรณ์
ที่ใช้ Android 11 ขึ้นไป
ทรัพยากร Dependency ของโมดูล
โมดูล Statsd มีชุด API @hide สำหรับบันทึกเหตุการณ์จากระบบ สำหรับโค้ด Java API @hide ส่วนใหญ่จะได้รับการปรับโครงสร้างเพื่อสร้างขึ้นจากเมธอดที่มีแท็ก @SystemApi ซึ่งมีขนาดเล็กลง พร้อมด้วยโค้ดกาวขนาดเล็กที่สร้างขึ้น สำหรับโค้ดแบบเนทีฟ ฟังก์ชันในระบบที่มีอยู่จะได้รับการปรับโครงสร้างให้เป็น VNDK C API อย่างเป็นทางการ พร้อมด้วยกาวที่สร้างขึ้น
การปรับแต่ง
โมดูล Statsd ไม่รองรับการปรับแต่ง
การทดสอบ
ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) ของ Android จะตรวจสอบฟังก์ชันการทำงานของ statsd และอะตอมที่การจัดการการเผยแพร่ขึ้นอยู่กับ