อุปกรณ์ที่ใช้ Android 9 (API ระดับ 28) ขึ้นไปมีแอประดับระบบที่เรียกว่าการติดตามระบบ แอปนี้คล้ายกับยูทิลิตีบรรทัดคำสั่ง systrace
แต่แอปนี้ให้คุณบันทึกร่องรอยจากอุปกรณ์ทดสอบได้โดยตรงโดยไม่ต้องเสียบปลั๊กอุปกรณ์และเชื่อมต่อผ่าน adb
จากนั้นคุณก็ใช้แอปเพื่อแชร์ผลลัพธ์จากการติดตามเหล่านี้กับทีมพัฒนาได้
อุปกรณ์ที่ใช้ Android 10 ขึ้นไปจะบันทึกร่องรอยในรูปแบบ Perfetto ส่วนอุปกรณ์รุ่นก่อนหน้าจะบันทึกในรูปแบบ Systrace เราขอแนะนำให้ใช้เครื่องมือดูการติดตาม Perfetto เพื่อเปิดทั้ง 2 รูปแบบแล้ววิเคราะห์การติดตาม
ซึ่งช่วยบันทึกร่องรอยเมื่อจัดการกับข้อบกพร่องที่เกี่ยวข้องกับประสิทธิภาพในแอป เช่น การเริ่มต้นช้า การเปลี่ยนเฟรมช้า หรือ UI กระตุก
บันทึกการติดตามระบบ
แอปการติดตามระบบให้คุณบันทึกการติดตามของระบบได้โดยใช้การ์ดการตั้งค่าด่วนหรือเมนูภายในแอป ส่วนต่อไปนี้อธิบายวิธีดำเนินการบันทึกให้เสร็จสมบูรณ์โดยใช้อินเทอร์เฟซเหล่านี้
บันทึกโดยใช้การ์ดการตั้งค่าด่วน
การ์ดการตั้งค่าด่วนมักเป็นวิธีที่สะดวกกว่าในการดําเนินการติดตามระบบในอุปกรณ์ให้เสร็จสมบูรณ์
ตั้งค่าการ์ด
หากคุณใช้ System Tracing เป็นครั้งแรกในอุปกรณ์ทดสอบ หรือหากไม่เห็นการ์ด System Tracing ในแผง การตั้งค่าด่วน ของอุปกรณ์ดังที่แสดงในรูปที่ 2 ให้ทำตามขั้นตอนการตั้งค่าต่อไปนี้
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
- เปิดหน้าจอการตั้งค่าตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์
- ในส่วนการแก้ไขข้อบกพร่อง ให้เลือกการติดตามระบบ แอปการติดตามระบบจะเปิดขึ้นพร้อมแสดงเมนูแอป
จากเมนูแอป ให้เปิดใช้แสดงการ์ดการตั้งค่าด่วน ดังที่แสดงในรูปที่ 1 ระบบจะเพิ่มการ์ดการติดตามระบบลงในแผงการตั้งค่าด่วนดังที่แสดงในรูปที่ 2
หมายเหตุ: โดยค่าเริ่มต้น ระบบจะเพิ่มการ์ดการติดตามระบบเป็นการ์ดแรกในแผงการตั้งค่าด่วน หากต้องการให้การ์ดปรากฏในตําแหน่งอื่น ให้ใช้โหมดแก้ไขของแผงเพื่อย้ายการ์ด
บันทึกการติดตามระบบให้เสร็จสมบูรณ์
หากต้องการบันทึกการติดตามของระบบโดยใช้แผงการตั้งค่าด่วน ให้ทำตามขั้นตอนต่อไปนี้
แตะการ์ดการติดตามระบบซึ่งมีป้ายกำกับว่าบันทึกการติดตาม ไทล์จะเปิดใช้ และการแจ้งเตือนแบบถาวรจะปรากฏขึ้นเพื่อแจ้งให้ทราบว่าระบบกำลังบันทึกร่องรอย ดังที่แสดงในรูปที่ 3
ดําเนินการในแอปที่คุณต้องการให้ระบบตรวจสอบ
หยุดการติดตามโดยแตะการ์ด System Tracing ในแผง Quick Settings หรือในการแจ้งเตือน System Tracing
ระบบจะแสดงการแจ้งเตือนใหม่ที่มีข้อความว่า "กำลังบันทึกการติดตาม" เมื่อบันทึกเสร็จแล้ว ระบบจะปิดการแจ้งเตือนและแสดงการแจ้งเตือนครั้งที่ 3 เพื่อยืนยันว่าระบบบันทึกการติดตามไว้แล้วและคุณพร้อมที่จะแชร์การติดตามระบบดังที่แสดงในรูปภาพ 4
บันทึกโดยใช้เมนูแอป
เมนูแอปช่วยให้คุณกำหนดการตั้งค่าขั้นสูงหลายรายการที่เกี่ยวข้องกับการติดตามระบบ และมีสวิตช์สำหรับเริ่มและหยุดการติดตามระบบ
หากต้องการบันทึกการติดตามของระบบโดยใช้เมนูแอปการติดตามระบบ ให้ทำตามขั้นตอนต่อไปนี้
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
เปิดหน้าจอการตั้งค่าตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ ในส่วนการแก้ไขข้อบกพร่อง ให้เลือกการติดตามระบบ แอป System Tracing จะเปิดขึ้น
หรือหากตั้งค่าการ์ด System Tracing ไว้ คุณจะแตะการ์ดค้างไว้เพื่อเข้าสู่แอป System Tracing ได้
ตรวจสอบว่าได้เลือกติดตามแอปพลิเคชันที่แก้ไขข้อบกพร่องได้เพื่อรวมแอปที่เปิดใช้การแก้ไขข้อบกพร่องไว้ในการติดตามระบบ
(ไม่บังคับ) เลือกหมวดหมู่การเรียกระบบและเซ็นเซอร์เพื่อติดตาม และเลือกขนาดบัฟเฟอร์ต่อ CPU เป็น KB เลือกหมวดหมู่ที่สอดคล้องกับกรณีการใช้งานที่คุณทดสอบ เช่น หมวดหมู่เสียงสําหรับการทดสอบการทํางานของบลูทูธ หรือหมวดหมู่หน่วยความจําสําหรับการจัดสรรกอง heap
(ไม่บังคับ) เลือกการติดตามแบบยาวเพื่อเปิดใช้การติดตามที่บันทึกต่อเนื่องในพื้นที่เก็บข้อมูลของอุปกรณ์ สําหรับตัวเลือกนี้ ให้กําหนดขีดจํากัดสําหรับขนาดการติดตามแบบยาวสูงสุดและระยะเวลาการติดตามแบบยาวสูงสุด
เปิดใช้สวิตช์บันทึกการติดตามที่ไฮไลต์ในรูปที่ 5 ไทล์จะเปิดใช้ และการแจ้งเตือนแบบถาวรจะปรากฏขึ้นเพื่อแจ้งให้ทราบว่าระบบกําลังบันทึกร่องรอย ดังที่แสดงในรูปที่ 3
ดําเนินการในแอปที่คุณต้องการให้ระบบตรวจสอบ
หยุดการติดตามโดยปิดใช้สวิตช์บันทึกการติดตาม
ระบบจะแสดงการแจ้งเตือนใหม่ที่มีข้อความ "กำลังบันทึกการติดตาม" เมื่อบันทึกเสร็จแล้ว ระบบจะปิดการแจ้งเตือนและแสดงการแจ้งเตือนครั้งที่ 3 เพื่อยืนยันว่าระบบบันทึกการติดตามไว้แล้วและคุณพร้อมที่จะแชร์การติดตามระบบดังที่แสดงในรูปที่ 4
แชร์การติดตามของระบบ
แอปการติดตามระบบช่วยให้คุณแชร์ผลลัพธ์การติดตามระบบเป็นส่วนหนึ่งของเวิร์กโฟลว์ต่างๆ ได้ ในอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) ขึ้นไป ระบบจะบันทึกไฟล์ติดตามด้วยนามสกุลไฟล์ .perfetto-trace
และเปิดไฟล์ได้ใน Perfetto UI ในอุปกรณ์ Android เวอร์ชันก่อนหน้า ระบบจะบันทึกไฟล์การติดตามพร้อมส่วนขยายชื่อไฟล์ .ctrace
ซึ่งแสดงรูปแบบ Systrace
แชร์เป็นข้อความ
การติดตามระบบช่วยให้คุณแชร์การติดตามที่รวบรวมไว้กับแอปอื่นๆ ในอุปกรณ์ได้ คุณสามารถส่งการติดตามไปยังทีมพัฒนาได้ผ่านอีเมลหรือแอปติดตามข้อบกพร่องโดยไม่ต้องเชื่อมต่ออุปกรณ์กับเครื่องสำหรับพัฒนา
หลังจากบันทึกการติดตามระบบแล้ว ให้แตะการแจ้งเตือนที่ปรากฏในอุปกรณ์ เช่น การแจ้งเตือนที่แสดงในรูปที่ 4 เครื่องมือเลือก Intent ของแพลตฟอร์มจะปรากฏขึ้นเพื่อให้คุณแชร์การติดตามโดยใช้แอปรับส่งข้อความที่คุณต้องการ
แชร์จากแอป Files
ในอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) ขึ้นไป ร่องรอยจะแสดงในแอป Files ซึ่งคุณจะแชร์ร่องรอยจากแอปนี้ได้
ดาวน์โหลดรายงานโดยใช้ ADB
นอกจากนี้ คุณยังดึงข้อมูลการติดตามของระบบจากอุปกรณ์ได้โดยใช้ adb
เชื่อมต่ออุปกรณ์ที่ใช้ในการบันทึกการติดตามไปยังเครื่องการพัฒนา แล้วเรียกใช้คำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล
cd /path-to-traces-on-my-dev-machine && \ adb pull /data/local/traces/ .
แปลงระหว่างรูปแบบการติดตาม
คุณสามารถแปลงไฟล์การติดตามของ Perfetto เป็นรูปแบบ Systrace ได้ ดูข้อมูลเพิ่มเติมได้ที่การแปลงรูปแบบการติดตาม
สร้างรายงาน HTML
เมื่อแชร์การติดตาม รายงานจะอยู่ในไฟล์ .perfetto-trace
ในอุปกรณ์ที่ใช้ Android 10 ขึ้นไป หรือไฟล์ .ctrace
สำหรับเวอร์ชันอื่นๆ ทั้งหมด
สร้างรายงาน HTML จากไฟล์การติดตามโดยใช้ UI แบบเว็บหรือจากบรรทัดคำสั่ง
UI บนเว็บ
ใช้ Perfetto UI เพื่อเปิดไฟล์การติดตามและสร้างรายงาน
สำหรับไฟล์ Perfetto ให้คลิกเปิดไฟล์การติดตาม สำหรับไฟล์ Systrace ให้คลิกเปิดด้วย UI รุ่นเดิม UI รุ่นเดิมมีลักษณะเหมือนกันกับรายงาน Systrace
บรรทัดคำสั่ง
เรียกใช้คําสั่งต่อไปนี้ในหน้าต่างเทอร์มินัลเพื่อสร้างรายงาน HTML จากไฟล์การติดตาม
cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}
หากยังไม่มีsystrace
โปรแกรมบรรทัดคำสั่ง คุณสามารถดาวน์โหลดได้จากโปรเจ็กต์ Catapult ใน GitHub หรือจากโปรเจ็กต์โอเพนซอร์ส Android โดยตรง
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- การเปรียบเทียบใน Continuous Integration
- บันทึกการติดตามระบบในบรรทัดคำสั่ง