โมดูล Statsd ประกอบด้วย statsd ซึ่งเป็นบริการแบบเนทิฟที่ทำงานอยู่เบื้องหลังการรวบรวมเมตริก และบริการ Java StatsCompanionService
ซึ่งทำงานในกระบวนการของระบบและเชื่อมโยง statsd และ Java โมดูลนี้สามารถอัปเดตได้ ซึ่งหมายความว่าสามารถรับการอัปเดตฟังก์ชันการทำงาน (เช่น การอัปเดตเมตริกที่ใช้ในการรวบรวมข้อมูล) นอกรอบการเปิดตัว Android ปกติ
ขอบเขตโมดูล
Statsd เป็นจุดติดต่อหลักระหว่างแพลตฟอร์มและการรวบรวมข้อมูลความปลอดภัยในการเปิดตัว โมดูล 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 โค้ดโมดูล Statsd จะถูกย้ายจาก 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 ขึ้นไป
การพึ่งพาโมดูล
โมดูล Statsd นำเสนอชุด @hide
API เพื่อบันทึกเหตุการณ์จากระบบ สำหรับโค้ด Java นั้น @hide
API ส่วนใหญ่ได้รับการปรับโครงสร้างใหม่เพื่อให้สร้างขึ้นบนชุดวิธีที่เล็กลงของแท็ก @SystemApi
โดยมีโค้ดกาวขนาดเล็กที่สร้างขึ้นภายใน สำหรับโค้ดเนทีฟ ฟังก์ชันเนทิฟที่มีอยู่จะถูกปรับโครงสร้างใหม่ให้เป็น VNDK C API อย่างเป็นทางการ โดยสร้างขึ้นใหม่ กาว.
การปรับแต่ง
โมดูล Statsd ไม่รองรับการปรับแต่ง
การทดสอบ
ชุดทดสอบความเข้ากันได้ของ Android (CTS) ตรวจสอบการทำงานของ statsd และอะตอมที่การจัดการการเผยแพร่ขึ้นอยู่กับ