Mô-đun Statsd bao gồm statsd, một dịch vụ gốc chạy ở chế độ nền để thu thập số liệu và dịch vụ Java StatsCompanionService
, chạy trong quy trình hệ thống và kết nối statsd và Java. Mô-đun này có thể cập nhật, nghĩa là nó có thể nhận các bản cập nhật về chức năng (chẳng hạn như bản cập nhật cho các số liệu được sử dụng trong việc thu thập dữ liệu) 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à việc thu thập dữ liệu an toàn khởi chạy. Mô-đun statsd bao gồm mã sau đây.
statsd
, nằm ởframeworks/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 các sự cố trong chính system_server
.
Trong Android 12, mã mô-đun Statsd được 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 như cũ
- Di chuyển
jni
vàoframework/jni
- Di chuyển các tập tin 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
Các 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
Lịch sử của các tệp trong Statsd phải được giữ nguyên.
Định dạng mô-đun
Mô-đun statsd ( com.android.os.statsd
) có đị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 của mô-đun
Mô-đun Statsd trình bày một bộ API @hide
để ghi nhật ký các 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 tập hợp các 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 VNĐK C chính thức, với các mã được tạo keo dán.
Tùy chỉnh
Mô-đun Statsd không hỗ trợ tùy chỉnh.
Kiểm tra
Bộ kiểm tra khả năng tương thích Android (CTS) xác minh chức năng của statsd và các nguyên tử phụ thuộc vào việc quản lý bản phát hành.