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 trongframeworks/base/cmds/statsd
StatsCompanionService
, nằm trongframeworks/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àoframework/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ý của các tệp trong chế độ Thống kê phải được giữ nguyên.
Định dạng mô-đun
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 đó.