บันทึกการติดตามของระบบในบรรทัดคำสั่ง

คำสั่ง systrace จะเรียกใช้เครื่องมือ Systrace ซึ่งช่วยให้คุณรวบรวมและตรวจสอบข้อมูลเวลาในกระบวนการทั้งหมด ทำงานบนอุปกรณ์ในระดับระบบ

เอกสารนี้อธิบายวิธีสร้างรายงาน Systrace จากบรรทัดคำสั่ง ในอุปกรณ์ที่ใช้ Android 9 (API ระดับ 28) ขึ้นไป คุณสามารถสร้าง รายงาน Systrace โดยใช้ระบบ System Tracing แอป

หากต้องการเรียกใช้ systrace ให้ทำตามขั้นตอนต่อไปนี้

  1. ดาวน์โหลดและติดตั้ง Android SDK เวอร์ชันล่าสุดจาก Android Studio เครื่องมือ
  2. ติดตั้ง Python และรวมไว้ใน ตัวแปรสภาพแวดล้อม PATH ของเวิร์กสเตชัน
  3. เพิ่ม android-sdk/platform-tools/ ไปที่ ตัวแปรสภาพแวดล้อม PATH ไดเรกทอรีนี้มีแท็ก Android ไบนารีของ Debug Bridge (adb) ซึ่งเรียกใช้โดยโปรแกรม systrace
  4. เชื่อมต่ออุปกรณ์ที่ใช้ Android 4.3 (API ระดับ 18) ขึ้นไปกับ ระบบการพัฒนาที่ใช้การแก้ไขข้อบกพร่อง USB การเชื่อมต่อ

คำสั่ง systrace มีอยู่ในแพ็กเกจเครื่องมือ Android SDK และ อยู่ใน android-sdk/platform-tools/systrace/

วากยสัมพันธ์

หากต้องการสร้างรายงาน HTML สำหรับแอป คุณต้องเรียกใช้ systrace จาก โดยใช้ไวยากรณ์ต่อไปนี้

python systrace.py [options] [categories]

เช่น คำสั่งต่อไปนี้เรียกใช้ systrace เพื่อบันทึกกิจกรรมของอุปกรณ์ และสร้างรายงาน HTML ชื่อ mynewtrace.html รายการหมวดหมู่นี้เป็น รายการเริ่มต้นที่สมเหตุสมผลสำหรับอุปกรณ์ส่วนใหญ่

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

เคล็ดลับ: หากต้องการดูชื่องานใน เอาต์พุตการติดตาม คุณต้องรวมหมวดหมู่ sched ไว้ใน พารามิเตอร์คำสั่งของคุณ

ในการดูรายการหมวดหมู่ที่อุปกรณ์ที่เชื่อมต่อของคุณรองรับ ให้เรียกใช้ คำสั่งต่อไปนี้

$ python systrace.py --list-categories

หากคุณไม่ระบุหมวดหมู่หรือตัวเลือก systrace จะสร้างรายงาน ซึ่งมีหมวดหมู่ที่มีอยู่ทั้งหมดและใช้การตั้งค่าเริ่มต้น หมวดหมู่ ขึ้นอยู่กับอุปกรณ์ที่เชื่อมต่อที่คุณใช้อยู่

ตัวเลือกโดยรวม

ตัวเลือกโดยรวม คำอธิบาย
-h | --help แสดงข้อความช่วยเหลือ
-l | --list-categories แสดงรายการหมวดหมู่การติดตามที่พร้อมใช้งานสำหรับอุปกรณ์ที่เชื่อมต่อ

คำสั่งและตัวเลือกคำสั่ง

คำสั่งและตัวเลือก คำอธิบาย
-o file เขียนรายงานการติดตาม HTML ไปยัง file ที่ระบุ ถ้า คุณไม่ได้ระบุตัวเลือกนี้ systrace จะบันทึกรายงานไว้ใน เป็น systrace.py และตั้งชื่อเป็น trace.html
-t N | --time=N ติดตามกิจกรรมในอุปกรณ์เป็นเวลา N วินาที หากคุณไม่ระบุ ตัวเลือกนี้ systrace จะให้คุณหยุดการติดตามโดยกด ป้อนคีย์จากบรรทัดคำสั่ง
-b N | --buf-size=N ใช้บัฟเฟอร์การติดตามขนาด N กิโลไบต์ ตัวเลือกนี้ช่วยให้คุณ จำกัดขนาดข้อมูลทั้งหมดที่รวบรวมระหว่างการติดตาม
-k functions
| --ktrace=functions
ติดตามกิจกรรมของฟังก์ชันเคอร์เนลที่ระบุ รายการที่คั่นด้วยคอมมา
-a app-name
| --app=app-name
เปิดใช้การติดตามสำหรับแอปที่ระบุเป็นรายการที่คั่นด้วยจุลภาคของ ชื่อกระบวนการ แอปต้องมีการเรียกใช้การวัดคุมการติดตามจาก Trace ชั้นเรียน คุณควรระบุตัวเลือกนี้ทุกครั้งที่ ทำโปรไฟล์แอปของคุณ - ไลบรารีจำนวนมาก เช่น RecyclerView รวมการติดตาม การเรียกการวัดคุมที่ให้ข้อมูลที่เป็นประโยชน์เมื่อคุณเปิดใช้ การติดตามระดับแอป ดูข้อมูลเพิ่มเติมได้ที่กําหนดเหตุการณ์ที่กําหนดเอง

วิธีติดตามแอปทั้งหมดในอุปกรณ์ที่ใช้ Android 9 (API ระดับ 28) ขึ้นไป ส่งอักขระไวลด์การ์ด "*" รวมถึงเครื่องหมายคำพูด เครื่องหมาย

--from-file=file-path สร้างรายงาน HTML เชิงโต้ตอบจากไฟล์ เช่น ไฟล์ TXT ที่มีข้อมูลการติดตามดิบแทนที่จะเรียกใช้การติดตามแบบเรียลไทม์
-e device-serial
| --serial=device-serial
ดำเนินการติดตามในอุปกรณ์ที่เชื่อมต่อที่ระบุโดยอุปกรณ์ดังกล่าว หมายเลขซีเรียลของอุปกรณ์
categories ระบุข้อมูลการติดตามสำหรับกระบวนการของระบบที่คุณระบุ เช่น เป็น gfx สำหรับกระบวนการของระบบที่แสดงผลกราฟิก คุณ สามารถเรียกใช้ systrace ด้วยคำสั่ง -l เพื่อดู รายชื่อบริการที่ใช้ได้กับอุปกรณ์ที่เชื่อมต่อของคุณ