Lệnh systrace
gọi công cụ Systrace để bạn có thể thu thập và 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:
- Từ Android Studio, hãy tải và cài đặt Bộ công cụ SDK Android mới nhất.
- Cài đặt và đưa Python vào biến môi trường
PATH
của máy trạm. - Thêm
android-sdk/platform-tools/
vào biến môi trườngPATH
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ìnhsystrace
gọi. - 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 tuỳ chọn nào, thì 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 chế độ 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.
Tuỳ chọn chung
Tuỳ 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à tuỳ chọn lệnh
Lệnh và tuỳ 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 tuỳ 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 tuỳ chọn này, thì systrace sẽ nhắc bạn kết thúc quá trình theo dõi bằng cách nhấn phím Enter từ dòng lệnh.
|
-b N | --buf-size=N |
Dùng bộ nhớ đệm theo dõi có dung lượng N kilobyte. Tuỳ chọn này cho phép bạn giới hạn tổng dung lượng dữ liệu được thu thập trong quá trình theo dõi. |
-k 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 |
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 tuỳ chọn này mỗi khi phân tích tài nguyên cho ứ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, hãy xem bài viết Xác định sự kiện tuỳ 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 |
--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 |
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 quy 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 đồ hoạ. 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 của mình.
|
Đề xuất cho bạn
- Lưu ý: văn bản có đường liên kết sẽ hiện khi JavaScript tắt
- Ghi lại dấu vết hệ thống trên một thiết bị