เพิ่มการตรวจสอบที่กำหนดเองสำหรับโค้ดของแอปที่ต้องการ

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

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

เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือ "ระยะเวลา" (ระยะเวลาระหว่างจุดเริ่มต้นและจุดที่หยุดของการติดตาม) แต่คุณสามารถเพิ่มเมตริกที่กำหนดเองได้เช่นกัน

ในโค้ด คุณจะกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเองโดยใช้ API ที่ได้จาก Performance Monitoring SDK คุณเริ่มการติดตามโค้ดที่กำหนดเองได้ทุกเมื่อหลังจากที่สร้างขึ้นแล้ว และการติดตามโค้ดจะปลอดภัย

เนื่องจากเมตริกเริ่มต้นที่รวบรวมสำหรับการติดตามเหล่านี้คือ "ระยะเวลา" บางครั้งจึงเรียกว่า "การติดตามระยะเวลา"

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

แอตทริบิวต์เริ่มต้น แอตทริบิวต์ที่กำหนดเอง และเมตริกที่กำหนดเอง

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

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

แอตทริบิวต์ที่กำหนดเองและเมตริกที่กำหนดเองจะแสดงในคอนโซล Firebase พร้อมด้วยแอตทริบิวต์เริ่มต้นและเมตริกเริ่มต้นสำหรับการติดตาม

เพิ่มการติดตามโค้ดที่กำหนดเอง

ใช้ Performance Monitoring Trace API เพื่อเพิ่มการติดตามโค้ดที่กำหนดเองเพื่อตรวจสอบโค้ดของแอปพลิเคชันที่เฉพาะเจาะจง

โปรดทราบดังต่อไปนี้

  • แอปหนึ่งๆ มีการติดตามโค้ดที่กําหนดเองได้หลายรายการ
  • การเรียกใช้โค้ดที่กำหนดเองมากกว่า 1 รายการได้พร้อมกัน
  • ชื่อของการติดตามโค้ดที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้ ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีขีดล่าง (_) และความยาวสูงสุดคือ 100 อักขระ
  • การติดตามโค้ดที่กำหนดเองรองรับการเพิ่มเมตริกที่กำหนดเองและแอตทริบิวต์ที่กำหนดเอง

หากต้องการเริ่มและหยุดการติดตามโค้ดที่กำหนดเอง ให้รวมโค้ดที่คุณต้องการติดตามด้วยบรรทัดของโค้ดที่คล้ายกับโค้ดต่อไปนี้

Web

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

เพิ่มการติดตามโค้ดที่กำหนดเองโดยใช้ User Timing API

นอกเหนือจาก Performance Monitoring Trace API แล้ว คุณยังเพิ่มการติดตามโค้ดที่กำหนดเองได้โดยใช้ User Timing API แบบเนทีฟของเบราว์เซอร์ Performance Monitoring SDK จะเลือกระยะเวลาของการติดตามที่วัดโดยใช้ API นี้โดยอัตโนมัติ การใช้ User Timing API จะมีประโยชน์เป็นพิเศษหากคุณต้องการโหลด Performance Monitoring SDK แบบไม่พร้อมกัน เมื่อเริ่มต้น SDK แล้ว SDK จะบันทึกการวัดที่เกิดขึ้นก่อนการโหลด

หากต้องการใช้ฟีเจอร์นี้ ให้รวมโค้ดที่คุณต้องการติดตามด้วยเครื่องหมายระยะเวลาของผู้ใช้

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

โปรดทราบว่า performance ในตัวอย่างด้านบนหมายถึงออบเจ็กต์ window.performance ของเบราว์เซอร์

เมื่อใช้ User Timing API จะเพิ่มเมตริกและแอตทริบิวต์ที่กำหนดเองลงในการติดตามโค้ดที่กำหนดเองไม่ได้ ใช้ Performance Monitoring Trace API หากคุณต้องการเพิ่มองค์ประกอบที่กำหนดเองเหล่านั้นลงในการติดตามโค้ดที่กำหนดเอง

เพิ่มเมตริกที่กำหนดเองลงในการติดตามโค้ดที่กำหนดเอง

ใช้ Performance Monitoring Trace API เพื่อเพิ่มเมตริกที่กำหนดเองลงในการติดตามโค้ดที่กำหนดเอง

โปรดทราบดังต่อไปนี้

  • ชื่อของเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้ ไม่มีช่องว่างนำหน้าหรือต่อท้าย, ไม่มีขีดล่าง (_) และความยาวสูงสุดคือ 100 อักขระ
  • การติดตามโค้ดที่กำหนดเองแต่ละรายการบันทึกเมตริกได้สูงสุด 32 เมตริก (รวมถึงเมตริกระยะเวลาเริ่มต้น)

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

Web

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

สร้างแอตทริบิวต์ที่กำหนดเองสำหรับการติดตามโค้ดที่กำหนดเอง

ใช้ Performance Monitoring Trace API เพื่อเพิ่มแอตทริบิวต์ที่กำหนดเองลงในการติดตามโค้ดที่กำหนดเอง

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

โปรดทราบดังต่อไปนี้

  • ชื่อของแอตทริบิวต์ที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้

    • ไม่มีช่องว่างขึ้นต้นหรือต่อท้าย ไม่มีเครื่องหมายขีดล่าง (_)
    • ไม่มีพื้นที่ทำงาน
    • ความยาวสูงสุด 32 อักขระ
    • อักขระที่อนุญาตสำหรับชื่อคือ A-Z, a-z และ _
  • การติดตามโค้ดที่กำหนดเองแต่ละรายการบันทึกแอตทริบิวต์ที่กำหนดเองได้สูงสุด 5 รายการ

  • โปรดตรวจสอบว่าแอตทริบิวต์ที่กำหนดเองไม่มีข้อมูลที่ระบุตัวตนของบุคคลหนึ่งๆ ให้ Google ทราบ

    ดูข้อมูลเพิ่มเติมเกี่ยวกับหลักเกณฑ์นี้

Web

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

ติดตาม ดู และกรองข้อมูลประสิทธิภาพ

หากต้องการดูข้อมูลประสิทธิภาพแบบเรียลไทม์ โปรดตรวจสอบว่าแอปใช้เวอร์ชัน SDK การตรวจสอบประสิทธิภาพที่ใช้ร่วมกับการประมวลผลข้อมูลแบบเรียลไทม์ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลประสิทธิภาพแบบเรียลไทม์

ติดตามเมตริกที่เฉพาะเจาะจงในแดชบอร์ด

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

รูปภาพของกระดานเมตริกในหน้าแดชบอร์ดการตรวจสอบประสิทธิภาพของ Firebase

หากต้องการเพิ่มเมตริกลงในกระดานเมตริก ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่ หน้าแดชบอร์ดประสิทธิภาพในคอนโซล Firebase
  2. คลิกการ์ดเมตริกที่ว่างเปล่า จากนั้นเลือกเมตริกที่มีอยู่เพื่อเพิ่มลงในกระดาน
  3. คลิก ในการ์ดเมตริกที่สร้างขึ้นเพื่อดูตัวเลือกเพิ่มเติม เช่น เพื่อแทนที่หรือนำเมตริกออก

แผงเมตริกจะแสดงข้อมูลเมตริกที่เก็บรวบรวมในช่วงเวลาหนึ่ง ทั้งในรูปแบบกราฟิกและการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ตัวเลข

ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้หน้าแดชบอร์ด

ดูการติดตามและข้อมูล

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

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

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

คุณเข้าถึงหน้าการแก้ปัญหาได้ด้วยวิธีต่อไปนี้

  • ในแดชบอร์ดเมตริก ให้คลิกปุ่มดูรายละเอียดเมตริก
  • ในการ์ดเมตริก ให้เลือก => ดูรายละเอียด หน้าการแก้ปัญหาจะแสดงข้อมูลเกี่ยวกับเมตริกที่คุณเลือก
  • ในตารางการติดตาม ให้คลิกชื่อการติดตามหรือค่าเมตริกในแถวที่เชื่อมโยงกับการติดตามนั้น
  • คลิกตรวจสอบเลยในการแจ้งเตือนทางอีเมล

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการดูข้อมูลสำหรับการติดตาม

ขั้นตอนถัดไป

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้แอตทริบิวต์เพื่อดูข้อมูลประสิทธิภาพ

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีติดตามปัญหาด้านประสิทธิภาพในคอนโซล Firebase

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