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