สถิติ

โมดูล 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/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
    • คัดลอกระดับบนสุดตามที่เป็นอยู่
    • ย้าย jni ไปยัง framework/jni
    • ย้ายไฟล์ระดับบนสุดไปยังไดเรกทอรี /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

ตัวอย่างคำสั่งย้ายแพตช์

ใช้การเปลี่ยนแปลงกับสาขาต่อไปนี้

  • 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 และองค์ประกอบที่การจัดการรุ่นต้องอาศัย