Performance Monitoring จะรวบรวมร่องรอยเพื่อช่วยคุณตรวจสอบประสิทธิภาพของแอป โดยร่องรอยคือรายงานข้อมูลประสิทธิภาพที่บันทึกไว้ระหว่าง 2 จุดเวลาในแอป
คุณสร้างการติดตามของคุณเองเพื่อตรวจสอบข้อมูลประสิทธิภาพที่เกี่ยวข้องได้ โค้ดที่เจาะจงในแอปของคุณ ด้วยการใช้การติดตามโค้ดที่กำหนดเอง คุณสามารถวัดวิธีการ ที่แอปใช้เวลาทำงานหนึ่งๆ หรือชุดงานเสร็จ เช่น การโหลดชุดรูปภาพหรือค้นหาฐานข้อมูล
เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือ "ระยะเวลา" (เวลาระหว่าง จุดเริ่มต้นและจุดสิ้นสุดของการติดตาม) แต่คุณสามารถเพิ่ม เมตริกที่กำหนดเองได้ด้วย
ในโค้ดของคุณ คุณกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเองโดยใช้
API จาก Performance Monitoring SDK
สําหรับแอป Android คุณสามารถตรวจสอบเมธอดที่เฉพาะเจาะจงได้โดยใช้@AddTrace
คําอธิบายประกอบ
คุณเริ่มการติดตามโค้ดที่กำหนดเองได้ทุกเมื่อหลังจากที่สร้างขึ้นแล้ว และ
ปลอดภัยในชุดข้อความ
เนื่องจากเมตริกเริ่มต้นที่รวบรวมสำหรับการติดตามเหล่านี้คือ "ระยะเวลา" ซึ่งบางครั้งเรียกว่า "การติดตามระยะเวลา"
คุณดูข้อมูลจากการติดตามเหล่านี้ได้ในแท็บย่อยการติดตามที่กำหนดเองของการติดตาม ซึ่งอยู่ที่ด้านล่างของแดชบอร์ดประสิทธิภาพ (ดูข้อมูลเพิ่มเติมเกี่ยวกับ ใช้คอนโซลภายหลังในหน้านี้)
แอตทริบิวต์เริ่มต้น แอตทริบิวต์ที่กําหนดเอง และเมตริกที่กําหนดเอง
สําหรับการติดตามโค้ดที่กําหนดเอง Performance Monitoring จะบันทึกแอตทริบิวต์เริ่มต้นโดยอัตโนมัติ (ข้อมูลเมตาทั่วไป เช่น เวอร์ชันแอป ประเทศ อุปกรณ์ ฯลฯ) เพื่อให้คุณกรองข้อมูลสําหรับการติดตามในคอนโซล Firebase ได้ นอกจากนี้ คุณยังเพิ่มและตรวจสอบแอตทริบิวต์ที่กําหนดเอง (เช่น ระดับเกมหรือพร็อพเพอร์ตี้ผู้ใช้) ได้ด้วยคุณกำหนดค่าการติดตามโค้ดที่กำหนดเองเพื่อบันทึกเพิ่มเติมได้ เมตริกที่กำหนดเองสำหรับเหตุการณ์ที่เกี่ยวข้องกับประสิทธิภาพที่ เกิดขึ้นภายในขอบเขตของการติดตาม เช่น คุณสามารถสร้างเมตริกที่กําหนดเองสําหรับจํานวนการ Hit และ Miss ของแคช หรือจํานวนครั้งที่ UI ไม่ตอบสนองเป็นระยะเวลาหนึ่ง
แอตทริบิวต์ที่กำหนดเองและเมตริกที่กำหนดเองจะแสดงในคอนโซล Firebase ควบคู่ไปกับแอตทริบิวต์เริ่มต้นและเมตริกเริ่มต้นสำหรับการติดตาม
เพิ่มการติดตามโค้ดที่กำหนดเอง
ใช้ Performance Monitoring Trace API เพื่อเพิ่มการติดตามโค้ดที่กำหนดเองเพื่อตรวจสอบโค้ดของแอปพลิเคชันที่เฉพาะเจาะจง
โปรดทราบดังต่อไปนี้
- แอปหนึ่งๆ มีการติดตามโค้ดที่กําหนดเองได้หลายรายการ
- การเรียกใช้โค้ดที่กำหนดเองมากกว่า 1 รายการได้พร้อมกัน
- ชื่อการติดตามโค้ดที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้ ไม่มีอักขระช่องว่างนำหน้าหรือตามหลัง ไม่มีอักขระขีดล่าง (
_
) นําหน้า และความยาวสูงสุดคือ 100 อักขระ - การติดตามโค้ดที่กำหนดเองรองรับการเพิ่มเมตริกที่กำหนดเองและ แอตทริบิวต์ที่กำหนดเอง
หากต้องการเริ่มและหยุดการติดตามโค้ดที่กําหนดเอง ให้ตัดโค้ดที่ต้องการติดตามด้วยบรรทัดโค้ดที่คล้ายกับตัวอย่างต่อไปนี้ (ตัวอย่างนี้ใช้ชื่อการติดตามที่กําหนดเองของ test_trace
)
Kotlin+KTX
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace myTrace.stop()
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace myTrace.stop();
(ไม่บังคับ) ตรวจสอบเมธอดโดยใช้ @AddTrace
แอป Android ยังรองรับฟังก์ชัน @AddTrace
หมายเหตุ
ในการติดตามโค้ดที่กำหนดเอง เมื่อใช้ฟีเจอร์นี้ การติดตามจะเริ่มต้นที่
จุดเริ่มต้นของเมธอดที่ระบุและหยุดเมื่อเมธอดเสร็จสมบูรณ์ รวมถึง
ทุกสิ่งที่เรียกใช้โดยเมธอด
เช่น คุณสร้างการติดตามโค้ดที่กําหนดเองชื่อ onCreateTrace
ที่เรียกใช้ได้
เมื่อมีการเรียกเมธอด onCreate()
Kotlin+KTX
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace // the `enabled` argument is optional and defaults to true @AddTrace(name = "onCreateTrace", enabled = true) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) }
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace @Override @AddTrace(name = "onCreateTrace", enabled = true /* optional */) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }
เพิ่มเมตริกที่กําหนดเองลงในร่องรอยโค้ดที่กําหนดเอง
ใช้ Performance Monitoring Trace API เพื่อเพิ่มเมตริกที่กําหนดเองในการติดตามโค้ดที่กําหนดเอง
โปรดทราบดังต่อไปนี้
- ชื่อเมตริกที่กําหนดเองต้องเป็นไปตามข้อกําหนดต่อไปนี้ ไม่มีอักขระช่องว่างขึ้นต้นหรือต่อท้าย ไม่มีอักขระขีดล่าง (
_
) ขึ้นต้น และความยาวสูงสุดคือ 100 อักขระ - การติดตามโค้ดที่กําหนดเองแต่ละรายการจะบันทึกเมตริกได้สูงสุด 32 รายการ (รวมถึงเมตริกระยะเวลาเริ่มต้น)
หากต้องการเพิ่มเมตริกที่กําหนดเอง ให้เพิ่มบรรทัดโค้ดที่คล้ายกับตัวอย่างต่อไปนี้ทุกครั้งที่เกิดเหตุการณ์ ตัวอย่างเช่น เมตริกที่กําหนดเองนี้จะนับเหตุการณ์ที่เกี่ยวข้องกับประสิทธิภาพที่เกิดขึ้นในแอป เช่น การตีข้อมูลแคชและตีข้อมูลแคชไม่สำเร็จ (โดยใช้ชื่อเหตุการณ์ตัวอย่างเป็น item_cache_hit
และ item_cache_miss
และการเพิ่ม 1
)
Kotlin+KTX
val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace (and log custom metrics) val item = cache.fetch("item") if (item != null) { myTrace.incrementMetric("item_cache_hit", 1) } else { myTrace.incrementMetric("item_cache_miss", 1) } myTrace.stop()
Java
Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace (and log custom metrics) Item item = cache.fetch("item"); if (item != null) { myTrace.incrementMetric("item_cache_hit", 1); } else { myTrace.incrementMetric("item_cache_miss", 1); } myTrace.stop();
สร้างแอตทริบิวต์ที่กำหนดเองสำหรับการติดตามโค้ดที่กำหนดเอง
ใช้ Performance Monitoring Trace API เพื่อเพิ่มแอตทริบิวต์ที่กำหนดเองลงในร่องรอยโค้ดที่กำหนดเองหากต้องการใช้แอตทริบิวต์ที่กำหนดเอง ให้เพิ่มโค้ดลงในแอปซึ่งกำหนดแอตทริบิวต์และ เชื่อมโยงกับการติดตามโค้ดที่กำหนดเองที่เฉพาะเจาะจง คุณตั้งค่าแอตทริบิวต์ที่กำหนดเองได้ทุกเมื่อระหว่างที่การติดตามเริ่มต้นและหยุด
โปรดทราบดังต่อไปนี้
ชื่อแอตทริบิวต์ที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ไม่มีช่องว่างขึ้นต้นหรือต่อท้าย ไม่มีเครื่องหมายขีดล่าง (
_
) - ไม่มีพื้นที่ทำงาน
- ความยาวสูงสุด 32 อักขระ
- อักขระที่อนุญาตสำหรับชื่อคือ
A-Z
,a-z
และ_
- ไม่มีช่องว่างขึ้นต้นหรือต่อท้าย ไม่มีเครื่องหมายขีดล่าง (
การติดตามโค้ดที่กําหนดเองแต่ละรายการจะบันทึกแอตทริบิวต์ที่กําหนดเองได้สูงสุด 5 รายการ
โปรดตรวจสอบว่าแอตทริบิวต์ที่กำหนดเองไม่มีข้อมูลใดๆ ที่ ระบุตัวตนของบุคคลหนึ่งๆ ให้ Google ทราบ
ดูข้อมูลเพิ่มเติมเกี่ยวกับหลักเกณฑ์นี้
Kotlin+KTX
Firebase.performance.newTrace("test_trace").trace { // Update scenario. putAttribute("experiment", "A") // Reading scenario. val experimentValue = getAttribute("experiment") // Delete scenario. removeAttribute("experiment") // Read attributes. val traceAttributes = this.attributes }
Java
Trace trace = FirebasePerformance.getInstance().newTrace("test_trace"); // Update scenario. trace.putAttribute("experiment", "A"); // Reading scenario. String experimentValue = trace.getAttribute("experiment"); // Delete scenario. trace.removeAttribute("experiment"); // Read attributes. Map<String, String> traceAttributes = trace.getAttributes();
ติดตาม ดู และกรองข้อมูลประสิทธิภาพ
ติดตามเมตริกที่เฉพาะเจาะจงในหน้าแดชบอร์ด
หากต้องการดูแนวโน้มของเมตริกหลัก ให้เพิ่มเมตริกเหล่านั้นลงในแผงเมตริกที่ด้านบนของ แดชบอร์ดประสิทธิภาพ คุณสามารถดูการถดถอยได้อย่างรวดเร็วโดยดูข้อมูลแบบสัปดาห์ต่อสัปดาห์ หรือยืนยันว่าการเปลี่ยนแปลงล่าสุดในโค้ดช่วยปรับปรุงประสิทธิภาพได้
หน้าแดชบอร์ดการตรวจสอบประสิทธิภาพ Firebase" />หากต้องการเพิ่มเมตริกลงในกระดานเมตริก ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่แดชบอร์ดประสิทธิภาพในคอนโซล Firebase
- คลิกการ์ดเมตริกว่าง แล้วเลือกเมตริกที่มีอยู่เพื่อเพิ่มลงในบอร์ด
- คลิก ในการ์ดเมตริกที่สร้างขึ้นเพื่อดูตัวเลือกเพิ่มเติม เช่น แทนที่หรือนําเมตริกออก
แผงเมตริกจะแสดงข้อมูลเมตริกที่เก็บรวบรวมไว้ในช่วงเวลาหนึ่ง ทั้งในรูปแบบกราฟิกและ ตัวเลขเปอร์เซ็นต์การเปลี่ยนแปลง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้แดชบอร์ด
ดูการติดตามและข้อมูล
หากต้องการดูการติดตาม ให้ไปที่หน้าแดชบอร์ดประสิทธิภาพในคอนโซล Firebase เลื่อนลงไปที่ตารางการติดตาม แล้วคลิกแท็บย่อยที่เหมาะสม ตารางจะแสดงเมตริกยอดนิยมสำหรับการติดตามแต่ละรายการ และคุณยังสามารถจัดเรียงรายการตาม เปอร์เซ็นต์การเปลี่ยนแปลงของเมตริกหนึ่งๆ
Performance Monitoring มีหน้าการแก้ปัญหาในคอนโซล Firebase ที่ไฮไลต์เมตริก การเปลี่ยนแปลง ทำให้คุณสามารถจัดการได้อย่างรวดเร็วและลดผลกระทบจากปัญหาด้านประสิทธิภาพใน แอปและผู้ใช้ ใช้หน้าการแก้ปัญหาได้เมื่อทราบเกี่ยวกับความเป็นไปได้ เช่น ปัญหาด้านประสิทธิภาพในสถานการณ์ต่อไปนี้
- คุณเลือกเมตริกที่เกี่ยวข้องในแดชบอร์ด และสังเกตเห็นการเปลี่ยนแปลงครั้งใหญ่
- ในตารางการติดตาม คุณจัดเรียงเพื่อแสดงเดลต้าที่ใหญ่ที่สุดที่ด้านบน และคุณจะเห็น เปอร์เซ็นต์การเปลี่ยนแปลงที่มีนัยสำคัญ
- คุณได้รับการแจ้งเตือนทางอีเมลเกี่ยวกับปัญหาด้านประสิทธิภาพ
คุณเข้าถึงหน้าการแก้ปัญหาได้ดังนี้
- ในหน้าแดชบอร์ดเมตริก ให้คลิกปุ่มดูรายละเอียดเมตริก
- ในการ์ดเมตริกใดก็ได้ ให้เลือก
หน้าการแก้ปัญหาจะแสดงข้อมูลเกี่ยวกับเมตริกที่คุณเลือก => ดูรายละเอียด - ในตารางการติดตาม ให้คลิกชื่อการติดตามหรือค่าเมตริกในแถวที่เชื่อมโยงกับการติดตามนั้น การติดตาม
- คลิกตรวจสอบเลยในการแจ้งเตือนทางอีเมล
เมื่อคลิกที่ชื่อการติดตามในตารางการติดตาม คุณจะเจาะลึกลงไปในเมตริกของ
ความสนใจ คลิก
ปุ่ม
- กรองตามเวอร์ชันแอปเพื่อดูข้อมูลเกี่ยวกับรุ่นที่ผ่านมาหรือรุ่นล่าสุด
- กรองตามอุปกรณ์เพื่อดูว่าอุปกรณ์รุ่นเก่ากว่าจัดการกับแอปของคุณอย่างไร
- กรองตามประเทศเพื่อให้แน่ใจว่าตำแหน่งฐานข้อมูลไม่ส่งผลต่อ ภูมิภาค
ดูข้อมูลเพิ่มเติมเกี่ยวกับ ดูข้อมูลสำหรับ การติดตาม
ขั้นตอนถัดไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับ การใช้แอตทริบิวต์เพื่อตรวจสอบข้อมูลประสิทธิภาพ
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีติดตามปัญหาด้านประสิทธิภาพในคอนโซล Firebase
ตั้งค่าการแจ้งเตือนสำหรับการเปลี่ยนแปลงโค้ดที่มีประสิทธิภาพลดลง ประสิทธิภาพของแอป เช่น คุณสามารถกำหนดค่าการแจ้งเตือนทางอีเมลสำหรับ ทีมของคุณหากระยะเวลาของการติดตามโค้ดที่กำหนดเองนั้นเกิน ที่คุณตั้งไว้
- ดูรายงานโดยละเอียดเกี่ยวกับเซสชันของผู้ใช้ที่ คุณจะเห็นการติดตามที่เจาะจงในบริบทไทม์ไลน์ของการติดตามอื่นๆ ที่รวบรวมในระหว่างนั้น เซสชัน