ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
Statsd
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
โมดูล 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 ขึ้นไป
ทรัพยากร Dependency ของโมดูล
โมดูล Statsd แสดงชุด @hide
API เพื่อบันทึกเหตุการณ์จากระบบ สําหรับโค้ด Java @hide
API ส่วนใหญ่ได้รับการปรับโครงสร้างให้สร้างขึ้นจากชุดเมธอดที่ติดแท็ก @SystemApi
ขนาดเล็กขึ้น โดยมีโค้ดกาวที่สร้างขึ้นเล็กน้อยรวมอยู่ด้วย สำหรับโค้ดเนทีฟ ระบบจะปรับโครงสร้างฟังก์ชันเนทีฟที่มีอยู่เพื่อใช้เป็น VNDK C API อย่างเป็นทางการพร้อมด้วย Glue ที่สร้างขึ้น
การปรับแต่ง
โมดูล Statsd ไม่รองรับการปรับแต่ง
การทดสอบ
ชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) จะยืนยันฟังก์ชันการทำงานของ statsd และองค์ประกอบที่การจัดการรุ่นต้องอาศัย
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Statsd\n\nThe Statsd module includes statsd, a native service that runs in the background\ncollecting metrics, and the Java service `StatsCompanionService`, which runs in\nthe system process and bridges statsd and Java. This module is updatable,\nmeaning it can receive updates to functionality (such as updates to the metrics\nused in data collection) outside of the normal Android release cycle.\n\nModule boundary\n---------------\n\nStatsd is the primary touchpoint between the platform and launch-safety data\ncollection. The statsd module includes the following code.\n\n- `statsd`, located in `frameworks/base/cmds/statsd`\n\n- `StatsCompanionService`, located in\n `frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java`\n\n- A subset of the platform protobuf structures, located primarily in\n `frameworks/base/core/proto`\n\nAs a native service, statsd can outlive the framework and detect crashes in the\n`system_server` itself.\n\nIn Android 12, the Statsd\nmodule code is moved from `frameworks/base/cmds/StatsD`,\n`frameworks/base/apex/StatsD`, and `system/core/libstats`.\n\n### New project structure\n\n- `system/core/libstats` → `packages/modules/StatsD/lib/libstats`\n - `system/core/libstats/socket` → `packages/modules/StatsD/lib/libstatssocket`\n - `system/core/libstats/pull` → `packages/modules/StatsD/lib/libstatspull`\n- `frameworks/base/cmds/StatsD` → `packages/modules/StatsD/bin`\n- `frameworks/base/apex/StatsD` →\n - Copy top level as is\n - Move `jni` into `framework/jni`\n - Move toplevel files into `/apex` directory\n - `frameworks/base/apex/StatsD/\\*` → `packages/modules/StatsD/apex/\\*`\n - `frameworks/base/apex/StatsD/jni` → `packages/modules/StatsD/apex/framework/jni`\n- `cts/hostsidetests/StatsD` → `packages/modules/StatsD/tests`\n\n### Patch move sample commands\n\nApply the changes to the following branches:\n\n- `goog/mainline-prod`\n- `goog/main`\n- `goog/\\*-plus-aosp`\n- `aosp/main`\n\nThe history for the files within Statsd should be preserved.\n\nModule format\n-------------\n\nThe statsd module (`com.android.os.statsd`) is in\n[APEX](/docs/core/ota/apex) format and is available for devices\nrunning Android 11 or higher.\n\nModule dependencies\n-------------------\n\nThe Statsd module presents a set of `@hide` APIs to log events from the\nsystem. For Java code, most `@hide` APIs are refactored to be built on a\nsmaller set of `@SystemApi` tagged methods, with some small generated\nglue code built in. For native code, existing native functions are refactored\nto be official VNDK C APIs, with generated glue.\n\nCustomization\n-------------\n\nThe Statsd module doesn't support customization.\n\nTesting\n-------\n\nThe Android Compatibility Test Suite (CTS) verifies the functionality of statsd\nand the atoms on which release management depends."]]