Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

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

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

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

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

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

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

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

เพิ่มการติดตามรหัสที่กำหนดเอง

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

หมายเหตุต่อไปนี้:

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

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

Web modular API

import { trace } from "firebase/performance";

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

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

t.stop();

Web namespaced API

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

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

trace.stop();

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

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

หากต้องการใช้คุณลักษณะนี้ ให้รวมโค้ดที่คุณต้องการติดตามด้วยเครื่องหมาย User Timing:

Web modular API

const performance = window.performance;

performance.mark("measurementStart");

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

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

Web namespaced API

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 จะไม่สามารถเพิ่มเมตริกและแอตทริบิวต์ที่กำหนดเองในการติดตามโค้ดที่กำหนดเองได้ ใช้ API การติดตามการตรวจสอบประสิทธิภาพ ถ้าคุณต้องการเพิ่มองค์ประกอบที่กำหนดเองเหล่านั้นในการติดตามรหัสที่กำหนดเอง

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

ใช้ API การติดตาม การตรวจสอบประสิทธิภาพเพื่อเพิ่มเมตริกที่กำหนดเองในการติดตามโค้ดที่กำหนดเอง

หมายเหตุต่อไปนี้:

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

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

Web modular API

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 namespaced API

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 ตัวอักษร
    • อักขระที่อนุญาตสำหรับชื่อคือ AZ , az และ _
  • การติดตามโค้ดที่กำหนดเองแต่ละรายการสามารถบันทึกแอตทริบิวต์ที่กำหนดเองได้สูงสุด 5 รายการ

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

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

Web modular API

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 namespaced API

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

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