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

หากต้องการเริ่มบันทึกการติดตาม ให้เลือกการกำหนดค่าการบันทึก จากเมนูแบบเลื่อนลงด้านบนหรือด้านล่างตัวสร้างโปรไฟล์ CPU แล้วคลิกบันทึก

รูปที่ 1 เครื่องมือสร้างโปรไฟล์ CPU จะแสดงสถานะ ระยะเวลา และประเภทการบันทึกที่ทำ

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

รูปที่ 2 เครื่องมือสร้างโปรไฟล์ CPU หลังจากบันทึก การติดตามเมธอด

  1. ช่วงที่เลือก: กําหนดส่วนของเวลาที่บันทึกเพื่อ ตรวจสอบในแผงการติดตาม เมื่อคุณบันทึกการติดตามเป็นครั้งแรก เครื่องมือสร้างโปรไฟล์ CPU เลือกความยาวทั้งหมดของการบันทึกใน CPU โดยอัตโนมัติ ในไทม์ไลน์ เพื่อตรวจสอบข้อมูลการติดตามเพียงบางส่วนของเวลาที่บันทึก ลากขอบของส่วนที่ไฮไลต์
  2. ส่วนการโต้ตอบ: แสดงการโต้ตอบของผู้ใช้และวงจรของแอป เหตุการณ์ต่างๆ บนไทม์ไลน์
  3. ส่วนชุดข้อความ: แสดงกิจกรรมของสถานะชุดข้อความ (เช่น การเรียกใช้ การนอนหลับ ฯลฯ) และแผนภูมิการโทร (หรือแผนภูมิติดตามเหตุการณ์ใน System Trace) สำหรับทุกชุดข้อความ ในไทม์ไลน์
    • ใช้เมาส์และแป้นพิมพ์ลัดเพื่อ ให้ไปยังส่วนต่างๆ ของไทม์ไลน์
    • ดับเบิลคลิกชื่อชุดข้อความหรือกด Enter ขณะที่เลือกชุดข้อความ เพื่อขยายหรือยุบชุดข้อความ
    • เลือกชุดข้อความเพื่อดูข้อมูลเพิ่มเติมในแผงการวิเคราะห์ กด Shift หรือ Ctrl (Command สำหรับ Mac) ค้างไว้เพื่อเลือกชุดข้อความหลายรายการ
    • เลือกการเรียกใช้เมธอด (หรือการติดตามเหตุการณ์ใน System Trace) เพื่อดู ข้อมูลเพิ่มเติมในแผงการวิเคราะห์
  4. แผงการวิเคราะห์: แสดงข้อมูลการติดตามสำหรับช่วงเวลาและชุดข้อความ หรือเมธอดที่คุณได้เลือกไว้ ในแผงนี้ คุณสามารถเลือกวิธีดู สแต็กเทรซแต่ละรายการ (โดยใช้แท็บการวิเคราะห์) และวิธีวัดการดำเนินการ เวลา (โดยใช้เมนูแบบเลื่อนลงสำหรับการอ้างอิงเวลา)
  5. แท็บแผงการวิเคราะห์: เลือกวิธีแสดงรายละเอียดการติดตาม สำหรับ รายละเอียดของแต่ละตัวเลือก โปรดดู ตรวจสอบการติดตาม
  6. เมนูการอ้างอิงเวลา: เลือกตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้เพื่อกำหนดวิธีการ ข้อมูลเวลาสำหรับการโทรแต่ละครั้งจะวัด (ใช้ได้ใน Sample/Trace เท่านั้น) เมธอดของ Java):
    • เวลาแขวนผนัง: ข้อมูลเวลาแสดงถึงเวลาที่ผ่านไปจริง
    • เวลาเทรด: ข้อมูลระยะเวลาแสดงเวลาที่ผ่านไปจริง ลบด้วยสัดส่วนใดๆ ของเวลาดังกล่าวเมื่อเทรดไม่ได้ใช้ CPU ที่ไม่ซับซ้อน สำหรับการเรียกใดๆ เวลาของชุดข้อความจะน้อยกว่าหรือเสมอ เท่ากับเวลาจริงของนาฬิกา การใช้เวลาเทรดช่วยให้คุณ ปริมาณการใช้งาน CPU จริงของเทรด เมธอดหรือฟังก์ชันหนึ่งๆ
  7. กรอง: กรองข้อมูลติดตามตามฟังก์ชัน เมธอด คลาส หรือแพ็กเกจ ชื่อ เช่น ถ้าต้องการระบุข้อมูลการติดตามที่เกี่ยวข้องกับ การโทรที่ต้องการ ให้พิมพ์ชื่อในการค้นหา ด้วย ในแท็บแผนภูมิ Flame สแต็กการเรียกใช้ ที่มีการโทร แพ็กเกจ หรือคลาสที่ตรงกับคำค้นหา ที่มีการเน้น ในแท็บบนลงล่างและล่างขึ้นบน การเรียกเหล่านั้น สแต็กจะมีลำดับความสำคัญเหนือกว่าผลลัพธ์การติดตามอื่นๆ นอกจากนี้ คุณยังเปิดใช้ ตัวเลือกต่อไปนี้โดยเลือกช่องที่ต้องการข้างช่องค้นหา:
    • นิพจน์ทั่วไป: หากต้องการรวมนิพจน์ทั่วไปในการค้นหา ให้ใช้ ตัวเลือก
    • ตรงตามตัวพิมพ์ใหญ่-เล็ก: หากการค้นหาของคุณคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ให้ใช้ตัวเลือกนี้
เคล็ดลับ: เมื่อตรวจสอบไทม์ไลน์ชุดข้อความ สิ่งต่อไปนี้ แป้นพิมพ์ลัดที่ใช้ได้มีดังนี้
  • ซูมเข้า: กด W หรือล้อเลื่อนของเมาส์ขณะกด Ctrl ค้างไว้ (คำสั่งใน Mac)
  • ซูมออก: กด S หรือเลื่อนล้อเมาส์ถอยหลังในขณะที่ กด Ctrl ค้างไว้ (คำสั่ง ใน Mac)
  • แพนซ้าย: กด A หรือลากเมาส์ไปทางขวาในขณะที่ยังกด Space ค้างไว้
  • แพนขวา: กด D หรือลากเมาส์ไปทางซ้ายในขณะที่กด Space ค้างไว้
  • ขยายหรือยุบชุดข้อความ: ดับเบิลคลิกชื่อชุดข้อความหรือ กด Enter ขณะที่เลือกชุดข้อความ

เลือกการกำหนดค่าการบันทึก

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

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

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

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

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

  • ตัวอย่างฟังก์ชัน C/C++: บันทึกการติดตามตัวอย่างจากโฆษณาเนทีฟของแอป ชุดข้อความ หากต้องการใช้การกำหนดค่านี้ คุณต้องทำให้แอปใช้งานได้ในอุปกรณ์ ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป

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

  • ติดตามการเรียกใช้ของระบบ: บันทึกรายละเอียดที่ช่วยให้คุณ ตรวจสอบว่าแอปของคุณโต้ตอบกับทรัพยากรของระบบอย่างไร คุณสามารถตรวจสอบ เวลาและระยะเวลาของสถานะเทรด ช่วยให้เห็นภาพว่า CPU ของคุณที่ใด จุดคอขวดในแกนทั้งหมด และเพิ่มเหตุการณ์การติดตามที่กำหนดเองเพื่อวิเคราะห์ ข้อมูลดังกล่าวอาจมีความสำคัญเมื่อคุณแก้ปัญหาด้านประสิทธิภาพ ปัญหา หากต้องการใช้การกำหนดค่านี้ คุณต้องทำให้แอปใช้งานได้ในอุปกรณ์ ที่ใช้ Android 7.0 (API ระดับ 24) ขึ้นไป

    ขณะที่ใช้การกำหนดค่าการติดตามนี้ คุณจะทำเครื่องหมายโค้ดที่สำคัญได้ ในไทม์ไลน์ของเครื่องมือสร้างโปรไฟล์ด้วยการใช้โค้ด ถึง รหัสเครื่องมือ C/C++ ให้ใช้ Native tracing API ให้บริการโดย trace.h หากต้องการวัดคุมโค้ด Java ให้ใช้ Trace สำหรับ สำหรับข้อมูลเพิ่มเติม โปรดดู ใช้โค้ดของแอป

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

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

สร้าง แก้ไข หรือดูการกำหนดค่าการบันทึก

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

หากต้องการดูการตั้งค่าของการกำหนดค่าการบันทึกที่มีอยู่ ให้เลือกการตั้งค่าใน แผงด้านซ้ายของกล่องโต้ตอบ CPU Recording Configurations

หากต้องการสร้างการกำหนดค่าการบันทึกใหม่ ให้ทำดังนี้

  1. คลิกเพิ่ม ที่ด้านซ้ายบนของกล่องโต้ตอบ การดำเนินการนี้จะสร้างการกำหนดค่าใหม่ด้วย การตั้งค่าเริ่มต้น
  2. ตั้งชื่อการกำหนดค่า
  3. เลือกเทคโนโลยีการติดตาม
  4. สำหรับการกำหนดค่าการบันทึกตัวอย่าง ให้ระบุช่วงการสุ่มตัวอย่างใน ไมโครวินาที (μs) ค่านี้แสดงเวลาระหว่างแต่ละตัวอย่างของ Call Stack ของแอป ยิ่งคุณระบุระยะเวลาสั้นลง คุณก็ยิ่งต้อง ถึงขีดจำกัดขนาดไฟล์สำหรับข้อมูลที่บันทึกไว้แล้ว
  5. ระบุขีดจำกัดขนาดไฟล์สำหรับข้อมูลที่บันทึกไว้ หน่วยเป็นเมกะไบต์ (MB) ที่เขียนลงในอุปกรณ์ที่เชื่อมต่อ เมื่อคุณหยุดบันทึก Android Studio จะแยกวิเคราะห์ข้อมูลนี้และแสดงในหน้าต่างเครื่องมือสร้างโปรไฟล์ ดังนั้นหากคุณ เพิ่มขีดจำกัดและบันทึกข้อมูลจำนวนมาก Android Studio จึงใช้ นานขึ้นมากในการแยกวิเคราะห์ไฟล์ และอาจไม่ตอบสนอง

    หมายเหตุ: หากคุณใช้อุปกรณ์ที่เชื่อมต่อที่ใช้ Android 8.0 (API ระดับ 26) ไม่มีการจำกัดขนาดไฟล์ของข้อมูลการติดตาม และ ระบบจะไม่พิจารณาค่า อย่างไรก็ตาม คุณยังต้องระมัดระวังเกี่ยวกับปริมาณข้อมูล อุปกรณ์เก็บรวบรวมหลังจากการบันทึกแต่ละครั้ง Android Studio อาจมีปัญหา การแยกวิเคราะห์ไฟล์การติดตามขนาดใหญ่ เช่น หากบันทึกตัวอย่าง การติดตามด้วยช่วงเวลาการสุ่มตัวอย่างสั้นๆ หรือการติดตามแบบมีเครื่องดนตรีในขณะที่แอปของคุณ เรียกเมธอดหลายรายการในระยะเวลาสั้นๆ คุณจะสร้างไฟล์การติดตามขนาดใหญ่ได้อย่างรวดเร็ว

  6. หากต้องการยอมรับการเปลี่ยนแปลงและดำเนินการเปลี่ยนแปลงการกำหนดค่าอื่นๆ ต่อไป คลิกใช้ หากต้องการยอมรับการเปลี่ยนแปลงที่นำไปใช้ทั้งหมด และปิดกล่องโต้ตอบ ให้คลิก ตกลง

บันทึกกิจกรรมของ CPU ด้วย Debug API

คุณสามารถใช้ Debug API เพื่อให้แอปพลิเคชันของคุณ ความสามารถในการเริ่มและหยุดการบันทึกกิจกรรมของ CPU ในเครื่องมือสร้างโปรไฟล์ CPU

เครื่องมือสร้างโปรไฟล์ CPU จะเริ่มบันทึกเมื่อแอปเรียกใช้ startMethodTracing(String tracePath) และเครื่องมือสร้างโปรไฟล์ CPU จะหยุดบันทึกเมื่อเรียกแอปของคุณ stopMethodTracing() ขณะที่ บันทึกกิจกรรม CPU ที่ทริกเกอร์โดยใช้ API นี้ เครื่องมือสร้างโปรไฟล์ CPU จะแสดง API การแก้ปัญหาเป็นการกำหนดค่าการบันทึก CPU ที่ใช้งานอยู่

หากต้องการควบคุมบันทึกกิจกรรมของ CPU ด้วย Debug API โปรดทำให้ แอปที่เชื่อมต่อไปยังอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไป การบันทึกที่เริ่มต้นโดย API รองรับในแอปที่สร้างโปรไฟล์ได้ แต่ Android Studio โปรไฟล์เลอร์ต้องการแอปที่แก้ไขข้อบกพร่องได้เพื่อแสดงสถานะการบันทึกใน UI

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

เนื่องจากขนาดบัฟเฟอร์จำกัดไว้ที่ 8 MB startMethodTracing(String tracePath) ใน Debug API ออกแบบมาสำหรับช่วงเวลาสั้นๆ หรือสถานการณ์ต่างๆ เริ่มต้น/หยุดบันทึกด้วยตนเองได้ยาก สำหรับการบันทึกที่นานขึ้น ให้ใช้ UI เครื่องมือสร้างโปรไฟล์ใน Android Studio

สำหรับข้อมูลเพิ่มเติม โปรดดู สร้างบันทึกการติดตามด้วยการใช้แอป

บันทึกกิจกรรมของ CPU ระหว่างเริ่มต้นแอป

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

  1. เลือกเรียกใช้ > แก้ไขการกำหนดค่า
  2. ในแท็บการทำโปรไฟล์ ให้เลือกช่องข้างเริ่มบันทึกวิธีการ การติดตามเมื่อเริ่มต้นใช้งาน
  3. เลือกการกำหนดค่าการบันทึก CPU จากเมนู
  4. คลิกใช้
  5. ทำให้แอปใช้งานได้ในอุปกรณ์ที่ใช้ Android 8.0 (API ระดับ 26) ขึ้นไปโดย เลือก Run > โปรไฟล์