ระบุเหตุการณ์ที่กำหนดเอง

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

Jetpack มี Tracing API ที่คุณใช้ติดป้ายกำกับส่วนหนึ่งของโค้ดได้ จากนั้นระบบจะรายงานข้อมูลนี้ในร่องรอยที่บันทึกไว้ในอุปกรณ์ Macrobenchmark จะบันทึกร่องรอยที่มีจุดติดตามที่กำหนดเองโดยอัตโนมัติ

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

fun loadAndProcessData() {
    trace("loadAndProcessData") {
        val data = trace("queryDatabase") {
            queryDatabase()
        }
        trace("processData") {
            processData(data)
        }
    }
}

ฟังก์ชัน การติดตาม จะสิ้นสุดการติดตามโดยอัตโนมัติเมื่อ Lambda เสร็จสมบูรณ์ ซึ่งจะช่วยลดความเสี่ยงในการลืมสิ้นสุดการติดตาม

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

แหล่งข้อมูลเพิ่มเติม

ดูเนื้อหา