Truy xuất và phân tích dữ liệu phân tích tài nguyên

Trang này mô tả cách truy xuất dấu vết và trực quan hoá dấu vết đó trong giao diện người dùng Perfetto.

Truy xuất dấu vết

Sau khi một hồ sơ được ghi lại, các dấu vết sẽ được lưu trên thiết bị của bạn. Trước khi có thể phân tích các dấu vết này, bạn phải truy xuất chúng.

ProfilingResult.getResultFilePath() cung cấp các vị trí theo dấu. Để tìm hiểu cách lấy vị trí theo dấu vết, hãy xem phần Cách ghi lại một hồ sơ. Sau khi có vị trí của dấu vết, bạn có thể tải dấu vết lên một máy chủ.

Kiểm thử cục bộ: Truy xuất dấu vết bằng ADB

Việc sử dụng adb để lấy dấu vết rất hữu ích cho việc kiểm tra hiệu suất và gỡ lỗi cục bộ.

Các dấu vết đã được chỉnh sửa sẽ được lưu trong tệp trên thiết bị của bạn. Đường dẫn thông thường cho một hồ sơ đã lưu là:

/data/user/0/<app>/files/profiling/profile<tag><datetime>.perfetto-trace

Trong trường hợp:

  • <app> là tên ứng dụng.
  • <datetime> là ngày và giờ mà dấu vết được ghi lại.
  • <tag> là thẻ do người dùng cung cấp được định cấu hình bằng cách sử dụng setTag

Nếu bạn bật và lưu dấu vết chưa được chỉnh sửa, hãy dùng lệnh adb sau đây để kéo dấu vết đó từ thiết bị:

adb pull /data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted

Trực quan hoá dấu vết

Sau khi truy xuất dấu vết vào máy tính, bạn có thể xem dấu vết đó trong giao diện người dùng Perfetto.

Ví dụ về dấu vết bị loại bỏ
Hình 1.: Ví dụ về dấu vết đã được chỉnh sửa.

Trong một dấu vết đã được chỉnh sửa, phần OtherProcesses sẽ kết hợp tất cả hoạt động của CPU từ các quy trình khác. Việc kết hợp các quy trình sẽ giữ kín những gì các quy trình khác đang làm.

Tuy nhiên, khi thấy hoạt động kết hợp của CPU này, bạn vẫn có thể kiểm tra xem hệ thống có bị quá tải trong quá trình ghi hay không. Việc kiểm tra hoạt động của hệ thống giúp bạn xác định xem ứng dụng của mình bị chậm là do vấn đề nội bộ hay do hệ thống nói chung bị chậm.

Hình ảnh sau đây làm nổi bật và mô tả ngắn gọn các phần chính mà bạn sẽ thấy trong dấu vết:

Các phần của dấu vết đã được chỉnh sửa
Hình 2.: Các phần của dấu vết đã được chỉnh sửa.
  1. Danh sách CPU: Hiển thị tất cả bộ xử lý có trên thiết bị của bạn.
  2. Tác vụ CPU: Cho biết mỗi CPU đang thực thi luồng nào.
  3. Chế độ xem các quy trình khác: Hiển thị tài nguyên CPU mà các quy trình khác tiêu thụ.
  4. Process View (Khung hiển thị quy trình): Cho thấy quy trình của ứng dụng.
  5. Khung hiển thị luồng (Threads View): Hiển thị các luồng đang chạy trong quy trình của bạn và trạng thái luồng của chúng (Có thể chạy (R), Đang chạy (R), Ngủ (S), Ngủ liên tục (D)), tương ứng trực tiếp với Trạng thái quy trình Linux.
  6. Lát cắt dấu vết: Phần này cho thấy các chú thích dấu vết do nhà phát triển ứng dụng hoặc khung thêm vào. Các chú thích này bao gồm các phép tính giữa Trace.beginSectionTrace.endSection.

Để biết thêm thông tin về giao diện người dùng Perfetto và cách trực quan hoá dấu vết, hãy xem tài liệu Perfetto.