บันทึกการติดตามของระบบในอุปกรณ์

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

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

ซึ่งช่วยบันทึกร่องรอยเมื่อจัดการกับข้อบกพร่องที่เกี่ยวข้องกับประสิทธิภาพในแอป เช่น การเริ่มต้นช้า การเปลี่ยนเฟรมช้า หรือ UI กระตุก

บันทึกการติดตามระบบ

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

บันทึกโดยใช้การ์ดการตั้งค่าด่วน

การ์ดการตั้งค่าด่วนมักเป็นวิธีที่สะดวกกว่าในการดําเนินการติดตามระบบในอุปกรณ์ให้เสร็จสมบูรณ์

ตั้งค่าการ์ด

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

  1. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
  2. เปิดหน้าจอการตั้งค่าตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์
  3. ในส่วนการแก้ไขข้อบกพร่อง ให้เลือกการติดตามระบบ แอปการติดตามระบบจะเปิดขึ้นพร้อมแสดงเมนูแอป
  4. จากเมนูแอป ให้เปิดใช้แสดงการ์ดการตั้งค่าด่วน ดังที่แสดงในรูปที่ 1 ระบบจะเพิ่มการ์ดการติดตามระบบลงในแผงการตั้งค่าด่วนดังที่แสดงในรูปที่ 2

    รูปที่ 1 สวิตช์แสดงการ์ดการตั้งค่าด่วนในแอปการติดตามระบบ
    รูปที่ 2 การ์ดการติดตามระบบในแผงการตั้งค่าด่วน

    หมายเหตุ: โดยค่าเริ่มต้น ระบบจะเพิ่มการ์ดการติดตามระบบเป็นการ์ดแรกในแผงการตั้งค่าด่วน หากต้องการให้การ์ดปรากฏในตําแหน่งอื่น ให้ใช้โหมดแก้ไขของแผงเพื่อย้ายการ์ด

บันทึกการติดตามระบบให้เสร็จสมบูรณ์

หากต้องการบันทึกการติดตามของระบบโดยใช้แผงการตั้งค่าด่วน ให้ทำตามขั้นตอนต่อไปนี้

  1. แตะการ์ดการติดตามระบบซึ่งมีป้ายกำกับว่าบันทึกการติดตาม ไทล์จะเปิดใช้ และการแจ้งเตือนแบบถาวรจะปรากฏขึ้นเพื่อแจ้งให้ทราบว่าระบบกำลังบันทึกร่องรอย ดังที่แสดงในรูปที่ 3

    การแจ้งเตือนพร้อมข้อความว่า "กำลังบันทึกการติดตาม แตะเพื่อหยุดการติดตาม'
    รูปที่ 3 การแจ้งเตือนแบบถาวรที่ปรากฏขึ้นหลังจากเริ่มการติดตามระบบในอุปกรณ์
  2. ดําเนินการในแอปที่คุณต้องการให้ระบบตรวจสอบ

  3. หยุดการติดตามโดยแตะการ์ด System Tracing ในแผง Quick Settings หรือในการแจ้งเตือน System Tracing

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

    การแจ้งเตือนพร้อมข้อความ "บันทึกการติดตามแล้ว แตะเพื่อแชร์การติดตาม'
    รูปที่ 4 การแจ้งเตือนแบบถาวรที่ปรากฏขึ้นหลังจากที่ระบบบันทึกร่องรอยที่บันทึกไว้เสร็จแล้ว

บันทึกโดยใช้เมนูแอป

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

หากต้องการบันทึกการติดตามของระบบโดยใช้เมนูแอปการติดตามระบบ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
  2. เปิดหน้าจอการตั้งค่าตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ ในส่วนการแก้ไขข้อบกพร่อง ให้เลือกการติดตามระบบ แอป System Tracing จะเปิดขึ้น

    หรือหากตั้งค่าการ์ด System Tracing ไว้ คุณจะแตะการ์ดค้างไว้เพื่อเข้าสู่แอป System Tracing ได้

  3. ตรวจสอบว่าได้เลือกติดตามแอปพลิเคชันที่แก้ไขข้อบกพร่องได้เพื่อรวมแอปที่เปิดใช้การแก้ไขข้อบกพร่องไว้ในการติดตามระบบ

  4. (ไม่บังคับ) เลือกหมวดหมู่การเรียกระบบและเซ็นเซอร์เพื่อติดตาม และเลือกขนาดบัฟเฟอร์ต่อ CPU เป็น KB เลือกหมวดหมู่ที่สอดคล้องกับกรณีการใช้งานที่คุณทดสอบ เช่น หมวดหมู่เสียงสําหรับการทดสอบการทํางานของบลูทูธ หรือหมวดหมู่หน่วยความจําสําหรับการจัดสรรกอง heap

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

  6. เปิดใช้สวิตช์บันทึกการติดตามที่ไฮไลต์ในรูปที่ 5 ไทล์จะเปิดใช้ และการแจ้งเตือนแบบถาวรจะปรากฏขึ้นเพื่อแจ้งให้ทราบว่าระบบกําลังบันทึกร่องรอย ดังที่แสดงในรูปที่ 3

    ภาพที่ 5 สวิตช์บันทึกการติดตามในการตั้งค่าการติดตามของระบบ
  7. ดําเนินการในแอปที่คุณต้องการให้ระบบตรวจสอบ

  8. หยุดการติดตามโดยปิดใช้สวิตช์บันทึกการติดตาม

    ระบบจะแสดงการแจ้งเตือนใหม่ที่มีข้อความ "กำลังบันทึกการติดตาม" เมื่อบันทึกเสร็จแล้ว ระบบจะปิดการแจ้งเตือนและแสดงการแจ้งเตือนครั้งที่ 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 โดยตรง