Ghi lại dấu vết hệ thống trên thiết bị

Các thiết bị chạy Android 9 (API cấp 28) trở lên có một ứng dụng cấp hệ thống có tên là Theo dõi hệ thống. Ứng dụng này tương tự như tiện ích dòng lệnh systrace, nhưng nó cho phép bạn ghi lại dấu vết trực tiếp từ chính thiết bị thử nghiệm mà không cần cắm thiết bị vào máy và kết nối với thiết bị qua adb. Sau đó, bạn có thể sử dụng ứng dụng để chia sẻ kết quả từ các dấu vết này với nhóm phát triển của mình.

Các thiết bị chạy Android 10 trở lên ghi lại dấu vết ở định dạng Perfetto, trong khi các thiết bị có hệ điều hành cũ hơn ghi lại dấu vết đó ở định dạng Systrace. Bạn nên sử dụng Trình xem dấu vết Perfetto để mở cả hai định dạng, sau đó phân tích dấu vết.

Tính năng này giúp ghi lại các dấu vết khi xử lý lỗi liên quan đến hiệu suất trong ứng dụng của bạn, chẳng hạn như tình trạng khởi động chậm, chuyển đổi chậm hoặc giật trên giao diện người dùng.

Ghi lại dấu vết hệ thống

Ứng dụng Theo dõi hệ thống cho phép bạn ghi lại dấu vết hệ thống bằng cách sử dụng ô Cài đặt nhanh hoặc trình đơn trong chính ứng dụng. Các phần sau mô tả cách hoàn tất quá trình ghi bằng các giao diện này.

Ghi lại bằng ô Cài đặt nhanh

Ô Cài đặt nhanh thường là cách thuận tiện hơn để hoàn tất quá trình theo dõi hệ thống trên thiết bị.

Thiết lập ô

Nếu bạn đang dùng tính năng Theo dõi hệ thống lần đầu trên thiết bị thử nghiệm, hoặc nếu bạn không thấy ô Theo dõi hệ thống trong bảng điều khiển Cài đặt nhanh của thiết bị (như trong Hình 2), hãy thực hiện các bước thiết lập sau:

  1. Bật tuỳ chọn cho nhà phát triển.
  2. Mở màn hình cài đặt Tuỳ chọn cho nhà phát triển.
  3. Trong phần Gỡ lỗi, chọn Theo dõi hệ thống. Ứng dụng Theo dõi hệ thống sẽ mở ra, hiển thị trình đơn ứng dụng.
  4. Từ trình đơn ứng dụng, hãy bật Hiển thị ô Cài đặt nhanh (như trong hình 1). Hệ thống sẽ thêm ô Theo dõi hệ thống vào bảng điều khiển Cài đặt nhanh (như trong hình 2):

    Hình 1. Nút chuyển Hiển thị ô Cài đặt nhanh trong ứng dụng Theo dõi hệ thống.
    Hình 2. Ô Theo dõi hệ thống trong bảng điều khiển Cài đặt nhanh.

    Lưu ý: Theo mặc định, hệ thống sẽ thêm ô Theo dõi hệ thống làm ô đầu tiên trong bảng điều khiển Cài đặt nhanh. Nếu bạn muốn ô này xuất hiện ở một vị trí khác, hãy sử dụng chế độ chỉnh sửa của bảng điều khiển để di chuyển nó.

Hoàn tất bản ghi theo dõi hệ thống

Để ghi lại dấu vết hệ thống bằng bảng điều khiển Cài đặt nhanh, hãy hoàn thành các bước sau:

  1. Nhấn vào ô Theo dõi hệ thống có nhãn Ghi dấu vết. Ô này sẽ được bật và một thông báo liên tục xuất hiện để thông báo cho bạn biết hệ thống hiện đang ghi lại dấu vết (như trong hình 3):

    Thông báo có nội dung "Dấu vết đang được ghi lại. Nhấn để dừng theo dõi."
    Hình 3. Thông báo liên tục xuất hiện sau khi bắt đầu theo dõi hệ thống trên thiết bị.
  2. Thực hiện các hành động trong ứng dụng mà bạn muốn hệ thống kiểm tra.

  3. Ngừng theo dõi bằng cách nhấn vào ô Theo dõi hệ thống trong bảng điều khiển Cài đặt nhanh hoặc trên thông báo Theo dõi hệ thống.

    Hệ thống hiển thị thông báo mới có nội dung "Đang lưu dấu vết". Khi quá trình lưu hoàn tất, hệ thống sẽ loại bỏ thông báo và hiển thị thông báo thứ ba, xác nhận rằng dấu vết của bạn đã được lưu và bạn đã có thể chia sẻ dấu vết hệ thống (như trong hình 4):

    Thông báo có nội dung "Đã lưu dấu vết. Nhấn để chia sẻ dấu vết của bạn."
    Hình 4. Thông báo liên tục xuất hiện sau khi hệ thống hoàn tất quá trình lưu một dấu vết đã ghi.

Ghi lại bằng trình đơn ứng dụng

Trình đơn ứng dụng cho phép bạn định cấu hình một số chế độ cài đặt nâng cao liên quan đến tính năng theo dõi hệ thống, đồng thời cung cấp nút chuyển dùng để bắt đầu và dừng theo dõi hệ thống.

Để ghi lại dấu vết hệ thống bằng cách sử dụng trình đơn ứng dụng Theo dõi hệ thống, hãy thực hiện các bước sau:

  1. Bật tuỳ chọn cho nhà phát triển.
  2. Mở màn hình cài đặt Tuỳ chọn cho nhà phát triển. Trong phần Gỡ lỗi, chọn Theo dõi hệ thống. Ứng dụng Theo dõi hệ thống sẽ mở ra.

    Ngoài ra, nếu thiết lập ô Theo dõi hệ thống, bạn có thể nhấn và giữ ô này để vào ứng dụng Theo dõi hệ thống.

  3. Hãy đảm bảo bạn đã chọn Theo dõi ứng dụng có thể gỡ lỗi để đưa vào hệ thống theo dõi các ứng dụng đã bật tính năng gỡ lỗi.

  4. Bạn có thể sử dụng tuỳ chọn Danh mục các lệnh gọi hệ thống và cảm biến để theo dõi cũng như chọn Dung lượng bộ nhớ đệm trên mỗi CPU (theo KB). Chọn các danh mục tương ứng với trường hợp sử dụng mà bạn đang thử nghiệm, chẳng hạn như danh mục Âm thanh để kiểm tra hoạt động Bluetooth hoặc danh mục Bộ nhớ để phân bổ vùng nhớ khối xếp.

  5. Bạn có thể chọn tuỳ chọn Dấu vết dài để cho phép các dấu vết được lưu liên tục vào bộ nhớ của thiết bị. Đối với tuỳ chọn này, hãy đặt giới hạn cho Kích thước tối đa của dấu vết dàiThời lượng tối đa của dấu vết dài.

  6. Bật nút chuyển Ghi dấu vết, được đánh dấu trong hình 5. Ô này sẽ được bật và một thông báo liên tục xuất hiện để thông báo cho bạn biết hệ thống đang ghi lại dấu vết như trong hình 3:

    Hình 5. Nút chuyển Ghi dấu vết trong chế độ cài đặt Theo dõi hệ thống.
  7. Thực hiện các hành động trong ứng dụng mà bạn muốn hệ thống kiểm tra.

  8. Dừng theo dõi bằng cách tắt nút chuyển Ghi dấu vết.

    Hệ thống hiển thị thông báo mới có nội dung "Đang lưu dấu vết". Khi quá trình lưu hoàn tất, hệ thống loại bỏ thông báo và hiển thị một thông báo thứ ba, xác nhận dấu vết của bạn đã được lưu và bạn đã có thể chia sẻ dấu vết hệ thống, như minh hoạ trong hình 4:

Chia sẻ dấu vết hệ thống

Ứng dụng Theo dõi hệ thống giúp bạn chia sẻ kết quả theo dõi hệ thống trong một số quy trình công việc khác nhau. Trên thiết bị chạy Android 10 (API cấp 29) trở lên, các tệp theo dõi được lưu bằng đuôi tệp .perfetto-trace và có thể được mở trong giao diện người dùng Perfetto. Trên một thiết bị chạy phiên bản Android cũ hơn, các tệp theo dõi được lưu bằng đuôi tệp .ctrace, biểu thị định dạng Systrace.

Chia sẻ dưới dạng tin nhắn

Tính năng Theo dõi hệ thống cho phép bạn chia sẻ dấu vết đã thu thập với các ứng dụng khác trên thiết bị của mình. Để làm điều này, bạn có thể gửi dấu vết đến nhóm phát triển thông qua email hoặc ứng dụng theo dõi lỗi mà không cần kết nối thiết bị với máy phát triển của bạn.

Sau khi bạn ghi lại dấu vết hệ thống, hãy nhấn vào thông báo xuất hiện trên thiết bị, như thông báo minh hoạ trong hình 4. Bộ chọn ý định của nền tảng sẽ xuất hiện, cho phép bạn chia sẻ dấu vết của mình bằng ứng dụng nhắn tin mà bạn chọn.

Chia sẻ qua ứng dụng Files

Trên các thiết bị chạy Android 10 (API cấp 29) trở lên, dấu vết sẽ hiển thị trong ứng dụng Files. Bạn có thể chia sẻ dấu vết từ ứng dụng này.

Tải báo cáo xuống bằng cách sử dụng ADB

Bạn cũng có thể trích xuất dấu vết hệ thống từ một thiết bị bằng adb. Kết nối thiết bị dùng để ghi lại dấu vết vào máy phát triển của bạn, sau đó chạy các lệnh sau trong một cửa sổ dòng lệnh:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

Chuyển đổi giữa các định dạng dấu vết

Bạn có thể chuyển đổi tệp theo dõi Perfetto sang định dạng Systrace. Vui lòng xem phần Chuyển đổi giữa các định dạng dấu vết để biết thêm thông tin chi tiết.

Tạo báo cáo HTML

Khi chia sẻ dấu vết của bạn, báo cáo sẽ nằm trong tệp .perfetto-trace (trên các thiết bị chạy Android 10 trở lên) hoặc trong tệp .ctrace (đối với tất cả các phiên bản khác).

Tạo một báo cáo HTML từ tệp theo dõi bằng cách sử dụng giao diện người dùng trên nền tảng web hoặc từ dòng lệnh.

Giao diện người dùng trên nền tảng web

Sử dụng giao diện người dùng Perfetto để mở tệp theo dõi và tạo báo cáo.

Đối với tệp Perfetto, hãy nhấp vào mục Mở tệp theo dõi. Đối với tệp Systrace, hãy nhấp vào mục Mở bằng giao diện người dùng cũ. Giao diện người dùng cũ có giao diện giống như Báo cáo Systrace.

Dòng lệnh

Chạy các lệnh sau trong một cửa sổ dòng lệnh để tạo báo cáo HTML từ tệp theo dõi:

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

Nếu chưa có chương trình dòng lệnh systrace, bạn có thể tải xuống từ dự án Catapult trên kho lưu trữ GitHub, hoặc trực tiếp từ Dự án nguồn mở Android.