Statsd

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à kết nối statsd với Java. Đây là một mô-đun có thể cập nhật, tức là mô-đun này có thể nhận các bản cập nhật về chức năng (chẳng hạn như các bản cập nhật về chỉ số được dùng trong quá trình thu thập dữ liệu) bên ngoài chu kỳ phát hành thông thường của Android.

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 ra mắt. Mô-đun statsd có chứa đoạn mã sau.

  • statsd, nằm ở frameworks/base/cmds/statsd

  • StatsCompanionService, nằm ở 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 các 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/StatsDsystem/core/libstats.

Cấu trúc dự án mới

  • 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
    • 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/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/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 Statsd phải được giữ nguyên.

Định dạng mô-đun

Mô-đun statsd (com.android.os.statsd) ở định dạng APEX và có trên 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 tập hợp các 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 để được xây dựng dựa trên một nhóm nhỏ hơn gồm các phương thức được gắn thẻ @SystemApi, với một số mã kết dính nhỏ được tạo sẵn. Đối với mã gốc, các hàm gốc hiện có sẽ được tái cấu trúc để trở thành các API C VNDK chính thức, có lớp kết dính được tạo.

Tuỳ chỉnh

Bạn không thể tuỳ chỉnh mô-đun Statsd.

Thử nghiệm

Bộ kiểm tra tính tương thích (CTS) với Android xác minh chức năng của statsd và các atom mà hoạt động quản lý bản phát hành phụ thuộc vào.