การตรวจสอบประสิทธิภาพจะรวบรวมการติดตามเพื่อช่วยคุณตรวจสอบประสิทธิภาพของแอป การติดตามคือรายงานข้อมูลประสิทธิภาพที่บันทึกไว้ระหว่างเวลา 2 ช่วงเวลาในแอปของคุณ
คุณสร้างการติดตามของคุณเองเพื่อตรวจสอบข้อมูลประสิทธิภาพที่เชื่อมโยงกับโค้ดที่เจาะจงในแอปได้ เมื่อใช้การติดตามโค้ดที่กำหนดเอง คุณจะวัดระยะเวลาที่แอปใช้ทำงานหรือชุดงานให้เสร็จสิ้นได้ เช่น การโหลดชุดรูปภาพหรือค้นหาฐานข้อมูล
เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือ "ระยะเวลา" (ระยะเวลาระหว่างจุดเริ่มต้นและจุดที่หยุดของการติดตาม) แต่คุณสามารถเพิ่มเมตริกที่กำหนดเองได้เช่นกัน
ในโค้ด คุณจะกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเองโดยใช้ API ที่ได้จาก Performance Monitoring SDK
สำหรับแอป Android คุณยังตรวจสอบวิธีการที่เฉพาะเจาะจงได้โดยใช้คำอธิบายประกอบ @AddTrace
คุณเริ่มการติดตามโค้ดที่กำหนดเองได้ทุกเมื่อหลังจากที่สร้างขึ้นแล้ว และการติดตามโค้ดจะปลอดภัย
เนื่องจากเมตริกเริ่มต้นที่รวบรวมสำหรับการติดตามเหล่านี้คือ "ระยะเวลา" บางครั้งจึงเรียกว่า "การติดตามระยะเวลา"
คุณสามารถดูข้อมูลจากการติดตามเหล่านี้ได้ในแท็บย่อยการติดตามที่กำหนดเองของตารางการติดตามซึ่งอยู่ที่ด้านล่างของหน้าแดชบอร์ดประสิทธิภาพ (ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้คอนโซลในภายหลังในหน้านี้)
แอตทริบิวต์เริ่มต้น แอตทริบิวต์ที่กำหนดเอง และเมตริกที่กำหนดเอง
สำหรับการติดตามโค้ดที่กำหนดเอง การตรวจสอบประสิทธิภาพจะบันทึกโดยอัตโนมัติ แอตทริบิวต์เริ่มต้น (ข้อมูลเมตาทั่วไป เช่น เวอร์ชันของแอป ประเทศ อุปกรณ์ ฯลฯ) เพื่อให้คุณกรองข้อมูลสำหรับการติดตามในคอนโซล Firebase ได้ คุณยังเพิ่มและตรวจสอบแอตทริบิวต์ที่กำหนดเอง (เช่น ระดับเกมหรือพร็อพเพอร์ตี้ผู้ใช้) ได้อีกด้วยคุณกำหนดค่าการติดตามโค้ดที่กำหนดเองเพิ่มเติมเพื่อบันทึกเมตริกที่กำหนดเองสำหรับเหตุการณ์ที่เกี่ยวข้องกับประสิทธิภาพซึ่งเกิดขึ้นภายในขอบเขตของการติดตามได้ ตัวอย่างเช่น คุณสามารถสร้างเมตริกที่กำหนดเองสำหรับจำนวนที่พบและไม่พบแคช หรือจำนวนครั้งที่ 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](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-metrics-board.png?authuser=2&hl=th)
หากต้องการเพิ่มเมตริกลงในกระดานเมตริก ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่ หน้าแดชบอร์ดประสิทธิภาพในคอนโซล Firebase
- คลิกการ์ดเมตริกที่ว่างเปล่า จากนั้นเลือกเมตริกที่มีอยู่เพื่อเพิ่มลงในกระดาน
- คลิก ในการ์ดเมตริกที่สร้างขึ้นเพื่อดูตัวเลือกเพิ่มเติม เช่น เพื่อแทนที่หรือนำเมตริกออก
แผงเมตริกจะแสดงข้อมูลเมตริกที่เก็บรวบรวมในช่วงเวลาหนึ่ง ทั้งในรูปแบบกราฟิกและการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ตัวเลข
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้หน้าแดชบอร์ด
ดูการติดตามและข้อมูล
หากต้องการดูการติดตาม ให้ไปที่หน้าแดชบอร์ดประสิทธิภาพในคอนโซล Firebase เลื่อนลงไปยังตารางการติดตาม แล้วคลิกแท็บย่อยที่เหมาะสม ตารางจะแสดงเมตริกอันดับต้นๆ สำหรับการติดตามแต่ละรายการ และคุณยังจัดเรียงรายการตามเปอร์เซ็นต์การเปลี่ยนแปลงของเมตริกที่เฉพาะเจาะจงได้อีกด้วย
การตรวจสอบประสิทธิภาพเป็นหน้าการแก้ปัญหาในคอนโซล Firebase ที่ไฮไลต์การเปลี่ยนแปลงของเมตริก โดยง่ายต่อการจัดการและลดผลกระทบจากปัญหาด้านประสิทธิภาพในแอปและผู้ใช้ของคุณ คุณสามารถใช้หน้าการแก้ปัญหาเมื่อเรียนรู้เกี่ยวกับปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้น ดังเช่นในสถานการณ์ต่อไปนี้
- คุณเลือกเมตริกที่เกี่ยวข้องในแดชบอร์ด และสังเกตเห็นการเปลี่ยนแปลงครั้งใหญ่
- ในตารางการติดตาม คุณจัดเรียงเพื่อแสดงเดลต้าที่ใหญ่ที่สุดที่ด้านบน และคุณจะเห็นเปอร์เซ็นต์การเปลี่ยนแปลงที่มีนัยสำคัญ
- คุณจะได้รับการแจ้งเตือนทางอีเมลเกี่ยวกับปัญหาด้านประสิทธิภาพ
คุณเข้าถึงหน้าการแก้ปัญหาได้ด้วยวิธีต่อไปนี้
- ในแดชบอร์ดเมตริก ให้คลิกปุ่มดูรายละเอียดเมตริก
- ในการ์ดเมตริก ให้เลือก
หน้าการแก้ปัญหาจะแสดงข้อมูลเกี่ยวกับเมตริกที่คุณเลือก => ดูรายละเอียด - ในตารางการติดตาม ให้คลิกชื่อการติดตามหรือค่าเมตริกในแถวที่เชื่อมโยงกับการติดตามนั้น
- คลิกตรวจสอบเลยในการแจ้งเตือนทางอีเมล
เมื่อคลิกที่ชื่อการติดตามในตารางการติดตาม คุณจะเจาะลึกลงไปในเมตริกที่สนใจได้ คลิกปุ่ม
![รูปภาพของข้อมูลการตรวจสอบประสิทธิภาพ Firebase ที่กรองตามแอตทริบิวต์](https://firebase.google.cn/static/docs/perf-mon/images/perf-mon-filter-by-attribute_native-1.png?authuser=2&hl=th)
- กรองตามเวอร์ชันแอปเพื่อดูข้อมูลเกี่ยวกับรุ่นที่ผ่านมาหรือรุ่นล่าสุด
- กรองตามอุปกรณ์เพื่อดูว่าอุปกรณ์รุ่นเก่ากว่าจัดการกับแอปของคุณอย่างไร
- กรองตามประเทศเพื่อให้มั่นใจว่าตำแหน่งฐานข้อมูลไม่ส่งผลต่อภูมิภาคหนึ่งๆ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการดูข้อมูลสำหรับการติดตาม
ขั้นตอนถัดไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้แอตทริบิวต์เพื่อดูข้อมูลประสิทธิภาพ
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีติดตามปัญหาด้านประสิทธิภาพในคอนโซล Firebase
ตั้งค่าการแจ้งเตือนสำหรับการเปลี่ยนแปลงโค้ดที่ทำให้ประสิทธิภาพของแอปลดลง เช่น คุณอาจกำหนดค่าการแจ้งเตือนทางอีเมลให้กับทีมได้หากระยะเวลาของการติดตามโค้ดที่กำหนดเองเกินเกณฑ์ที่คุณตั้งไว้
- ดูรายงานโดยละเอียดของเซสชันผู้ใช้ที่คุณดูการติดตามที่เฉพาะเจาะจงในบริบทของการติดตามในไทม์ไลน์ของการติดตามอื่นๆ ที่รวบรวมในระหว่างเซสชันเดียวกันได้