Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Statsd
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Mô-đun Statsd bao gồm statsd, một dịch vụ gốc chạy ở chế độ nền để thu thập các chỉ số và dịch vụ Java StatsCompanionService
chạy trong quy trình hệ thống và cầu nối statsd và Java. Mô-đun này có thể cập nhật, nghĩa là có thể nhận các bản cập nhật về chức năng (chẳng hạn như cập nhật các chỉ số dùng trong việc thu thập dữ liệu) bên ngoài chu kỳ phát hành Android thông thường.
Ranh giới mô-đun
Statsd là điểm tiếp xúc chính giữa nền tảng và hoạt động thu thập dữ liệu về an toàn khi khởi chạy. Mô-đun statsd bao gồm mã sau.
statsd
, nằm trong frameworks/base/cmds/statsd
StatsCompanionService
, nằm trong frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
Một tập hợp con của các cấu trúc protobuf nền tảng, chủ yếu nằm trong frameworks/base/core/proto
Là một dịch vụ gốc, statsd có thể tồn tại lâu hơn khung và phát hiện sự cố trong chính system_server
.
Trong Android 12, mã mô-đun Statsd được di chuyển từ frameworks/base/cmds/StatsD
, frameworks/base/apex/StatsD
và system/core/libstats
.
Cấu trúc dự án mới
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
→
- Sao chép cấp cao nhất nguyên trạng
- Di chuyển
jni
vào framework/jni
- Di chuyển các tệp cấp cao nhất vào thư mục
/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
Lệnh mẫu di chuyển bản vá
Áp dụng các thay đổi cho các nhánh sau:
goog/mainline-prod
goog/main
goog/\*-plus-aosp
aosp/main
Nhật ký cho các tệp trong Statsd phải được giữ nguyên.
Mô-đun statsd (com.android.os.statsd
) ở định dạng APEX và có sẵn cho các thiết bị chạy Android 11 trở lên.
Phần phụ thuộc mô-đun
Mô-đun Statsd trình bày một tập hợp các API @hide
để ghi nhật ký sự kiện từ hệ thống. Đối với mã Java, hầu hết các API @hide
đều được tái cấu trúc để xây dựng trên một nhóm phương thức được gắn thẻ @SystemApi
nhỏ hơn, với một số mã keo được tạo nhỏ được tích hợp sẵn. Đối với mã gốc, các hàm gốc hiện có được tái cấu trúc thành API C VNDK chính thức, với phần kết nối được tạo.
Tuỳ chỉnh
Mô-đun Statsd không hỗ trợ tuỳ chỉnh.
Thử nghiệm
Bộ kiểm thử khả năng tương thích với Android (CTS) xác minh chức năng của statsd và các nguyên tử mà hoạt động quản lý bản phát hành phụ thuộc vào đó.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]