วิธีบันทึกการติดตามระบบในเครื่องบน Android Pie

systrace เป็นเครื่องมืออันทรงพลังที่รวบรวมข้อมูลเวลาจากกระบวนการที่ทำงานบน Android ต่อไปนี้เป็นวิธีบันทึกการติดตามระบบบน Android Pie

การติดตามเป็นเครื่องมืออันล้ำค่าที่ช่วยให้นักพัฒนาเข้าใจถึงผลกระทบที่การเปลี่ยนแปลงต่างๆ มีต่อระบบ และสามารถให้เบาะแสเพื่อระบุสาเหตุของปัญหาได้

ระบบ เป็นเครื่องมือติดตามที่ทรงพลังตัวหนึ่งที่รวบรวมข้อมูลเวลาจากกระบวนการ ทำงานบนอุปกรณ์ Android ระบบ ถูกนำมาใช้อย่างแพร่หลายโดย ทีมงานประสิทธิภาพของ Android ที่ Google เพื่อเพิ่มประสิทธิภาพบนโทรศัพท์ Google Pixel ฉันได้ใช้ ระบบ เพื่อตรวจสอบผลกระทบของการเปลี่ยนแปลงตัวกำหนดเวลาเคอร์เนลต่อตำแหน่งงานบน CPU และเพื่อระบุสาเหตุที่เป็นไปได้ของปัญหา ระบบ สามารถบันทึกข้อมูลได้หลากหลาย รวมถึงการตั้งเวลา CPU, ความถี่ CPU, ดิสก์ I/O, กราฟิก, กิจกรรม Binder และอื่นๆ อีกมากมาย ข้อมูลจะรวมกันเป็นรายงานที่สามารถวิเคราะห์ได้ใน Google Chrome

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

ด้วยการเปิดตัว Android Pie ความไม่สะดวกนี้ได้รับการแก้ไขด้วยการเปิดตัว แพ็คเกจ Traceur ซึ่งเป็นเครื่องมือที่รวบรวมข้อมูลการติดตามแบบดิบ โดยตรงบนโทรศัพท์ Android Traceur มีให้เลือกใช้เป็นตัวเลือก "การติดตามระบบ" ในตัวเลือกนักพัฒนาซอฟต์แวร์ของแอปการตั้งค่า และข้อมูลการติดตามดิบที่ Traceur บันทึกไว้ในอุปกรณ์สามารถแปลงในภายหลังได้ ระบบ ไปยังรายงาน HTML เพื่อการวิเคราะห์

ตัวเลือก “System Tracing” ใหม่ช่วยให้ผู้ใช้จับภาพและแบ่งปันการติดตามกับนักพัฒนาได้อย่างง่ายดาย โดยไม่จำเป็นต้องรู้วิธีเรียกใช้จริงๆ ระบบ บนคอมพิวเตอร์ นักพัฒนาได้รับประโยชน์จากความสามารถในการจับร่องรอยโดยไม่ต้องใช้คอมพิวเตอร์และวิเคราะห์ในภายหลังได้ตามความสะดวก ข้อมูลการติดตามดิบทั้งหมดที่รวบรวมโดย "การติดตามระบบ" ยังมีขนาดเล็กกว่ารายงาน HTML ที่สร้างขึ้นอย่างมากอีกด้วย ระบบซึ่งทำให้ข้อมูลการติดตามแบบดิบมีความเหมาะสมมากขึ้นสำหรับการจัดเก็บและแบ่งปันกับผู้อื่น

คำแนะนำ: การรวบรวมระบบและการวิเคราะห์ร่องรอยของระบบ

ประการแรก ตรวจสอบให้แน่ใจว่าคุณมีอุปกรณ์ที่ใช้ Android Pie และคอมพิวเตอร์ที่ติดตั้ง Python 2 คำแนะนำต่อไปนี้ดำเนินการบน OnePlus 6 ที่ใช้ OxygenOS Android Pie เบต้าล่าสุด

  1. เปิดใช้งานตัวเลือกนักพัฒนาซอฟต์แวร์ในแอปการตั้งค่า จากนั้นเข้าถึงตัวเลือก "การติดตามระบบ" ภายในส่วน "การดีบัก" ของตัวเลือกนักพัฒนา
  2. เมื่อเปิด System Tracing คุณจะเห็นปุ่มสลับเพื่อเปิดใช้งาน System Tracing และความสามารถในการปรับแต่งหมวดหมู่การติดตามและขนาดบัฟเฟอร์ของการติดตาม สำหรับการสาธิตนี้ จะใช้หมวดหมู่เริ่มต้น ซึ่งเพียงพอสำหรับกรณีส่วนใหญ่ การสลับ “แสดงไทล์การตั้งค่าด่วน” ช่วยให้สามารถเริ่ม/หยุดการติดตามได้ผ่านการตั้งค่าด่วน ฉันได้เปิดใช้งานสิ่งนี้สำหรับคำแนะนำนี้
  3. หากต้องการเริ่มจับร่องรอย ให้แตะไทล์การตั้งค่าด่วน "บันทึกการติดตาม" ที่เพิ่มล่าสุด
  4. เมื่อคุณติดตามกรณีทดสอบเสร็จแล้ว คุณสามารถหยุดการติดตามได้จากหน้าต่างแจ้งเตือน
  5. ยอดเยี่ยม! คุณจับร่องรอยดิบได้สำเร็จ การแจ้งเตือนจะแจ้งให้คุณแชร์ไฟล์การติดตามดิบ คุณควรจะสามารถบันทึกลงในอุปกรณ์ของคุณ อัปโหลดไปยังที่เก็บข้อมูลออนไลน์ ส่งอีเมลให้บุคคลอื่น ฯลฯ หรือคุณสามารถใช้ ADB เพื่อดึงการติดตามจากอุปกรณ์ของคุณไปยังคอมพิวเตอร์ของคุณได้โดยตรง (adb pull /data/local/traces/). ไปข้างหน้าและบันทึกไฟล์การติดตามลงในคอมพิวเตอร์ของคุณ
  6. ไฟล์การติดตามแบบ Raw ได้รับการสร้างขึ้นแล้ว รูปแบบ .ctrace. ไม่สามารถตีความได้ในรูปแบบดิบ เราสามารถใช้ ระบบ เพื่อสร้างรายงาน HTML แบบโต้ตอบที่เป็นประโยชน์และเข้าใจได้ง่ายขึ้นจากไฟล์การติดตามแบบ Raw ของเรา
  7. เราจะใช้เวอร์ชันล่าสุดของ ระบบ จาก repo โครงการหนังสติ๊ก. ในแอปพลิเคชันเทอร์มินัล ให้โคลน repo (ตรวจสอบให้แน่ใจว่าได้ติดตั้ง git แล้ว):
    git clone https://github.com/catapult-project/catapult.git
  8. เพื่อสร้างรายงาน HTML จากไฟล์ติดตามดิบของเราโดยใช้ ระบบให้ป้อนคำสั่งต่อไปนี้:
    python2 catapult/systrace/bin/systrace --from-file=<pathtorawtracefile>
    ไฟล์ HTML ที่มีชื่อเดียวกันกับไฟล์การติดตามแบบ Raw จะถูกสร้างขึ้น หมายเหตุ: systrace รองรับเฉพาะ Python 2 ในขณะที่เขียนเท่านั้น
  9. หากต้องการดูรายงาน HTML ให้เปิดเบราว์เซอร์ Google Chrome และเข้าถึง URL “chrome://tracing” อย่าเปิดรายงาน HTML โดยตรงใน Google Chrome เพราะจะทำให้รายงานว่างเปล่า
  10. คลิกที่ "โหลด" และเปิดไฟล์รายงาน HTML จากกล่องโต้ตอบป๊อปอัป เอาล่ะ! รายงานการติดตามของคุณพร้อมสำหรับการตรวจสอบแล้ว

อะไรต่อไป?

ตอนนี้คุณสามารถจับร่องรอยและสร้าง ระบบ รายงาน สิ่งสำคัญคือต้องเข้าใจวิธีการอ่านและตีความข้อมูลที่นำเสนอในรายงาน สำหรับการเริ่มต้นผมแนะนำให้อ่าน”ความเข้าใจ ซิสเทรซ” และดู “ประสิทธิภาพของ Android: ภาพรวม (Google I/O '17)" และ "ซิสเทรซ สำหรับเกม" เพื่อที่จะได้เห็น ระบบ ในการดำเนินการ

นี่คือโพสต์รับเชิญที่เดิมเขียนโดย Josh Choo หรือที่รู้จักในชื่อ XDA Recognized Developer ร่าเริง. โพสต์ได้รับการแก้ไขเล็กน้อยเพื่อการจัดรูปแบบ