สถิติ

โมดูล 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/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 ขึ้นไป

การพึ่งพาโมดูล

โมดูล Statsd นำเสนอชุด @hide API เพื่อบันทึกเหตุการณ์จากระบบ สำหรับโค้ด Java นั้น @hide API ส่วนใหญ่ได้รับการปรับโครงสร้างใหม่เพื่อให้สร้างขึ้นบนชุดวิธีที่เล็กลงของแท็ก @SystemApi โดยมีโค้ดกาวขนาดเล็กที่สร้างขึ้นภายใน สำหรับโค้ดเนทีฟ ฟังก์ชันเนทิฟที่มีอยู่จะถูกปรับโครงสร้างใหม่ให้เป็น VNDK C API อย่างเป็นทางการ โดยสร้างขึ้นใหม่ กาว.

การปรับแต่ง

โมดูล Statsd ไม่รองรับการปรับแต่ง

การทดสอบ

ชุดทดสอบความเข้ากันได้ของ Android (CTS) ตรวจสอบการทำงานของ statsd และอะตอมที่การจัดการการเผยแพร่ขึ้นอยู่กับ