การตรวจสอบประสิทธิภาพจะรวบรวม การติดตาม เพื่อช่วยคุณตรวจสอบประสิทธิภาพของแอป การติดตามคือรายงานข้อมูลประสิทธิภาพที่บันทึกระหว่างเวลาสองจุดในแอปของคุณ
คุณสามารถสร้างการติดตามของคุณเองเพื่อตรวจสอบข้อมูลประสิทธิภาพที่เกี่ยวข้องกับรหัสเฉพาะในแอปของคุณ ด้วย การติดตามโค้ดที่กำหนดเอง คุณสามารถวัดว่าแอปของคุณใช้เวลานานเท่าใดในการทำงานเฉพาะหรือชุดของงานให้เสร็จสมบูรณ์ เช่น การโหลดชุดรูปภาพหรือการสืบค้นฐานข้อมูลของคุณ
เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือ "ระยะเวลา" (เวลาระหว่างจุดเริ่มต้นและจุดสิ้นสุดของการติดตาม) แต่คุณสามารถเพิ่ม เมตริกที่กำหนดเอง ได้เช่นกัน
ในโค้ดของคุณ คุณจะกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดแบบกำหนดเองโดยใช้ API ที่จัดเตรียมโดย Performance Monitoring SDKสำหรับแอป Android คุณยังสามารถตรวจสอบวิธีการเฉพาะโดยใช้ คำอธิบายประกอบ @AddTrace
การติดตามโค้ดแบบกำหนดเองสามารถเริ่มได้ทุกเมื่อหลังจากสร้างแล้ว และพวกมันปลอดภัยสำหรับเธรด
เนื่องจากเมตริกเริ่มต้นที่รวบรวมสำหรับการติดตามเหล่านี้คือ "ระยะเวลา" บางครั้งจึงเรียกว่า "การติดตามระยะเวลา"
คุณสามารถดูข้อมูลจากการติดตามเหล่านี้ได้ในแท็บย่อย การติดตามที่กำหนดเอง ของตารางการติดตาม ซึ่งอยู่ที่ด้านล่างของแดชบอร์ด ประสิทธิภาพ (เรียนรู้เพิ่มเติมเกี่ยวกับ การใช้คอนโซล ในภายหลังในหน้านี้)
แอตทริบิวต์เริ่มต้น แอตทริบิวต์ที่กำหนดเอง และเมตริกที่กำหนดเอง
สำหรับการติดตามโค้ดที่กำหนดเอง การตรวจสอบประสิทธิภาพจะบันทึก แอตทริบิวต์เริ่มต้น โดยอัตโนมัติ (ข้อมูลเมตาทั่วไป เช่น เวอร์ชันแอป ประเทศ อุปกรณ์ ฯลฯ) เพื่อให้คุณสามารถกรองข้อมูลสำหรับการติดตามในคอนโซล Firebase คุณยังสามารถเพิ่มและตรวจสอบ แอตทริบิวต์ที่กำหนดเอง (เช่น ระดับเกมหรือคุณสมบัติของผู้ใช้)คุณสามารถกำหนดค่าการติดตามโค้ดที่กำหนดเองเพิ่มเติมเพื่อบันทึก เมตริกที่กำหนดเอง สำหรับเหตุการณ์ที่เกี่ยวข้องกับประสิทธิภาพที่เกิดขึ้นภายในขอบเขตของการติดตาม ตัวอย่างเช่น คุณสามารถสร้างเมตริกที่กำหนดเองสำหรับจำนวนการเข้าชมและพลาดของแคช หรือจำนวนครั้งที่ UI ไม่ตอบสนองในช่วงเวลาที่สังเกตเห็นได้
แอตทริบิวต์ที่กำหนดเองและเมตริกที่กำหนดเองแสดงในคอนโซล Firebase ควบคู่ไปกับแอตทริบิวต์เริ่มต้นและเมตริกเริ่มต้นสำหรับการติดตาม
เพิ่มการติดตามรหัสที่กำหนดเอง
ใช้ Performance Monitoring Trace API เพื่อเพิ่มการติดตามโค้ดแบบกำหนดเองเพื่อตรวจสอบโค้ดแอปพลิเคชันเฉพาะ
หมายเหตุต่อไปนี้:
- แอปสามารถมีการติดตามโค้ดที่กำหนดเองได้หลายรายการ
- สามารถเรียกใช้การติดตามโค้ดที่กำหนดเองได้มากกว่าหนึ่งรายการในเวลาเดียวกัน
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้: ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีอักขระขีดล่างนำหน้า (
_
) และความยาวสูงสุดคือ 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); }
เพิ่มเมตริกที่กำหนดเองในการติดตามโค้ดที่กำหนดเอง
ใช้ 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 ตัวอักษร
- อักขระที่อนุญาตสำหรับชื่อคือ
AZ
,az
และ_
- ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีเครื่องหมายขีดล่างนำหน้า (
การติดตามโค้ดที่กำหนดเองแต่ละรายการสามารถบันทึกแอตทริบิวต์ที่กำหนดเองได้สูงสุด 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 ที่เน้นการเปลี่ยนแปลงเมตริก ทำให้ง่ายต่อการแก้ไขและลดผลกระทบของปัญหาด้านประสิทธิภาพต่อแอปและผู้ใช้ของคุณอย่างรวดเร็ว คุณสามารถใช้หน้าการแก้ไขปัญหาเมื่อคุณเรียนรู้เกี่ยวกับปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้น ตัวอย่างเช่น ในสถานการณ์ต่อไปนี้:
- คุณเลือกเมตริกที่เกี่ยวข้องบนแดชบอร์ด และคุณสังเกตเห็นเดลต้าขนาดใหญ่
- ในตารางการติดตาม คุณจัดเรียงเพื่อแสดงส่วนต่างที่ใหญ่ที่สุดที่ด้านบน และคุณเห็นการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ที่สำคัญ
- คุณได้รับอีเมลแจ้งเตือนเกี่ยวกับปัญหาด้านประสิทธิภาพ
คุณสามารถเข้าถึงหน้าการแก้ไขปัญหาได้ด้วยวิธีต่อไปนี้:
- บนแดชบอร์ดเมตริก ให้คลิกปุ่ม ดูรายละเอียดเมตริก
- บนการ์ดเมตริก เลือก => ดูรายละเอียด หน้าการแก้ไขปัญหาจะแสดงข้อมูลเกี่ยวกับเมตริกที่คุณเลือก
- ในตารางการติดตาม คลิกชื่อการติดตามหรือค่าเมตริกใดๆ ในแถวที่เกี่ยวข้องกับการติดตามนั้น
- ในการแจ้งเตือนทางอีเมล ให้คลิก ตรวจสอบทันที
เมื่อคุณคลิกชื่อการติดตามในตารางการติดตาม คุณจะสามารถเจาะลึกลงไปในเมตริกที่สนใจได้ คลิกปุ่ม กรอง
เพื่อกรองข้อมูลตามแอตทริบิวต์ เช่น
- กรองตาม เวอร์ชันของแอป เพื่อดูข้อมูลเกี่ยวกับรุ่นที่ผ่านมาหรือรุ่นล่าสุดของคุณ
- กรองตาม อุปกรณ์ เพื่อเรียนรู้ว่าอุปกรณ์รุ่นเก่าจัดการแอปของคุณอย่างไร
- กรองตาม ประเทศ เพื่อให้แน่ใจว่าตำแหน่งฐานข้อมูลของคุณไม่ส่งผลกระทบต่อภูมิภาคใดภูมิภาคหนึ่ง
เรียนรู้เพิ่มเติมเกี่ยวกับ การดูข้อมูลการติดตามของคุณ
ขั้นตอนถัดไป
เรียนรู้เพิ่มเติมเกี่ยวกับ การใช้แอตทริบิวต์ เพื่อตรวจสอบข้อมูลประสิทธิภาพ
เรียนรู้เพิ่มเติมเกี่ยวกับวิธี ติดตามปัญหาประสิทธิภาพการทำงาน ในคอนโซล Firebase
ตั้งค่าการแจ้งเตือน สำหรับการเปลี่ยนแปลงโค้ดที่ลดประสิทธิภาพของแอปของคุณ ตัวอย่างเช่น คุณสามารถกำหนดค่าการแจ้งเตือนทางอีเมลสำหรับทีมของคุณ หาก ระยะเวลา ของการติดตามโค้ดที่กำหนดเองเฉพาะเจาะจงเกินเกณฑ์ที่คุณตั้งไว้
- ดูรายงานโดยละเอียดของ เซสชันผู้ใช้ ซึ่งคุณสามารถดูการติดตามเฉพาะเจาะจงในบริบทไทม์ไลน์ของการติดตามอื่นๆ ที่รวบรวมระหว่างเซสชันเดียวกัน