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

Lệnh systrace gọi công cụ Sysrace, cho phép bạn thu thập cũng như kiểm tra thông tin thời gian trong tất cả các quy trình chạy trên thiết bị của bạn ở cấp hệ thống.

Tài liệu này giải thích cách tạo các báo cáo Systrace bằng dòng lệnh. Trên các thiết bị chạy Android 9 (API cấp 28) trở lên, bạn cũng có thể tạo báo cáo Sysrace bằng ứng dụng Hệ thống theo dõi hệ thống.

Để chạy systrace, hãy hoàn tất các bước sau:

  1. Từ Android Studio, hãy tải và cài đặt Bộ công cụ SDK Android mới nhất.
  2. Cài đặt và đưa Python vào biến môi trường PATH của máy trạm.
  3. Thêm android-sdk/platform-tools/ vào biến môi trường PATH của bạn. Thư mục này chứa tệp nhị phân của Cầu gỡ lỗi Android (adb) được chương trình systrace gọi.
  4. Kết nối một thiết bị chạy Android 4.3 (API cấp 18) trở lên với hệ thống phát triển của bạn bằng cách sử dụng kết nối gỡ lỗi qua USB.

Dòng lệnh systrace được cung cấp trong gói Bộ công cụ SDK Android và nằm trong android-sdk/platform-tools/systrace/.

Cú pháp

Để tạo báo cáo HTML cho ứng dụng, bạn cần chạy systrace từ dòng lệnh bằng cú pháp sau:

python systrace.py [options] [categories]

Ví dụ như lệnh sau gọi systrace để ghi lại hoạt động của thiết bị và tạo báo cáo HTML có tên mynewtrace.html. Danh sách các danh mục này là danh sách mặc định hợp lý cho hầu hết các thiết bị.

$ python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
    binder_driver hal dalvik camera input res memory

Mẹo: Nếu muốn xem tên của các việc cần làm trong kết quả theo dõi, bạn phải đưa danh mục sched vào các tham số lệnh của mình.

Để xem danh sách các danh mục mà thiết bị được kết nối của bạn hỗ trợ, hãy chạy lệnh sau:

$ python systrace.py --list-categories

Nếu bạn không chỉ định bất kỳ danh mục hoặc tùy chọn nào, systrace sẽ tạo một báo cáo bao gồm tất cả các danh mục có sẵn và sử dụng các tùy chọn cài đặt mặc định. Các danh mục có sẵn phụ thuộc vào thiết bị được kết nối mà bạn đang sử dụng.

Tùy chọn chung

Tùy chọn chung Mô tả
-h | --help Hiện thông báo trợ giúp.
-l | --list-categories Liệt kê các danh mục theo dõi có sẵn cho thiết bị được kết nối của bạn.

Lệnh và các tùy chọn lệnh

Lệnh và tùy chọn Mô tả
-o file Ghi báo cáo theo dõi HTML vào file được chỉ định. Nếu bạn không chỉ định tùy chọn này, thì systrace sẽ lưu báo cáo của bạn vào cùng một thư mục với systrace.py và đặt tên cho thư mục đó là trace.html.
-t N | --time=N Theo dõi hoạt động trên thiết bị trong N giây. Nếu bạn không chỉ định tùy chọn này, thì systrace sẽ nhắc bạn kết thúc dấu vết bằng cách nhấn phím Enter từ dòng lệnh.
-b N | --buf-size=N Dùng kích thước bộ đệm theo dõi là N kilobyte. Tùy chọn này cho phép bạn giới hạn tổng kích thước của dữ liệu được thu thập trong quá trình theo dõi.
-k functions
| --ktrace=functions
Theo dõi hoạt động của các hàm kernel cụ thể, được chỉ định trong danh sách phân tách bằng dấu phẩy.
-a app-name
| --app=app-name
Bật tính năng theo dõi cho các ứng dụng, được chỉ định dưới dạng danh sách tên quy trình phân tách bằng dấu phẩy. Các ứng dụng phải chứa các lệnh gọi đo lường dấu vết từ lớp Trace. Bạn nên chỉ định tùy chọn này mỗi khi lập hồ sơ phân tích ứng dụng của mình – nhiều thư viện, chẳng hạn như RecyclerView, bao gồm các lệnh gọi đo lường dấu vết để cung cấp thông tin hữu ích khi bạn bật tính năng theo dõi cấp ứng dụng. Để biết thêm thông tin chi tiết, vui lòng xem bài viết Xác định sự kiện tùy chỉnh.

Để theo dõi tất cả ứng dụng trên thiết bị chạy Android 9 (API cấp 28) trở lên, hãy chuyển ký tự đại diện "*", bao gồm cả dấu ngoặc kép.

--from-file=file-path Tạo báo cáo HTML tương tác từ một tệp, chẳng hạn như các tệp TXT chứa dữ liệu theo dõi thô, thay vì theo dõi dấu vết trực tiếp.
-e device-serial
| --serial=device-serial
Tiến hành theo dõi trên một thiết bị cụ thể đã kết nối, được xác định bằng số sê-ri của thiết bị.
categories Bao gồm thông tin theo dõi cho các quá trình hệ thống mà bạn chỉ định, chẳng hạn như gfx cho các quy trình hệ thống kết xuất đồ họa. Bạn có thể chạy systrace bằng lệnh -l để xem danh sách các dịch vụ có sẵn trên thiết bị đã kết nối.