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ụngsetTag
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.

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:

- Danh sách CPU: Hiển thị tất cả bộ xử lý có trên thiết bị của bạn.
- Tác vụ CPU: Cho biết mỗi CPU đang thực thi luồng nào.
- 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ụ.
- Process View (Khung hiển thị quy trình): Cho thấy quy trình của ứng dụng.
- 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.
- 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.beginSection
vàTrace.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.