เรียนรู้เกี่ยวกับข้อมูลประสิทธิภาพคำขอเครือข่าย HTTP/S (แอปใดก็ได้)


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

สําหรับแอปทุกประเภท Performance Monitoring จะรวบรวมการติดตามสําหรับคําขอเครือข่ายแต่ละรายการที่แอปของคุณส่งออกโดยอัตโนมัติ ซึ่งเรียกว่าการติดตามคําขอเครือข่าย HTTP/S การติดตามเหล่านี้จะรวบรวมเมตริกสําหรับช่วงเวลาระหว่างที่แอปส่งคําขอไปยังปลายทางบริการและเมื่อการตอบกลับจากปลายทางนั้นเสร็จสมบูรณ์ Performance Monitoringจะบันทึกเมตริกต่อไปนี้สําหรับปลายทางที่แอปส่งคําขอ

  • ระยะเวลาในการตอบกลับ — ช่วงเวลาระหว่างที่ส่งคําขอและเวลาที่ได้รับการตอบกลับอย่างสมบูรณ์

  • ขนาดเพย์โหลดของคำตอบ — ขนาดไบต์ของเพย์โหลดเครือข่ายที่แอปดาวน์โหลด

  • ขนาดเพย์โหลดของคำขอ — ขนาดไบต์ของเพย์โหลดเครือข่ายที่อัปโหลดโดยแอป

  • อัตราความสําเร็จ - เปอร์เซ็นต์ของการตอบกลับที่สำเร็จ (รหัสการตอบกลับในช่วง 100-399) เทียบกับการตอบกลับทั้งหมด

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

Performance Monitoring รวบรวมเมตริกสําหรับคําขอเครือข่ายที่ใช้ไลบรารีการทํางานเครือข่ายต่อไปนี้โดยอัตโนมัติ

Swift

  • URLSession
  • URLConnection

Objective-C

  • NSURLSession
  • NSURLConnection

ปรับแต่งการรวมข้อมูลคําขอเครือข่าย

นอกจากเครื่องมือและการเก็บรวบรวมข้อมูลสําหรับคําขอเครือข่ายที่พร้อมใช้งานแล้ว Performance Monitoring ยังรองรับตัวเลือกต่อไปนี้ด้วย

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

การรวมข้อมูลภายใต้รูปแบบ URL

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

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

รูปแบบ URL คืออะไร

รูปแบบ URL มีโดเมนและรูปแบบที่ตรงกับเส้นทาง URL เช่น example.com/*/animals/**

  • รูปแบบ URL อาจมีกลุ่มเส้นทางต่อไปนี้

    • ข้อความธรรมดา — ตรงกับสตริงที่ตรงกันทั้งหมด
    • * — จับคู่สตริงใดก็ได้ในกลุ่มเส้นทางเดียว
    • ** — จับคู่กับคำต่อท้ายเส้นทางที่กำหนดเอง
  • รูปแบบ URL อาจเป็นรูปแบบใดรูปแบบหนึ่งต่อไปนี้

ตัวอย่างเช่น คำขอ URL ต่อไปนี้อาจจับคู่กับรูปแบบ URL example.com/*/animals/**

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

โดเมนของรูปแบบ URL อาจมี * เป็นกลุ่มแรกได้เช่นกัน เช่น *.example.com/*/fruits/**

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

รูปแบบ URL อัตโนมัติ

หากไม่มีการกําหนดค่าใดๆ Performance Monitoring จะพยายามแสดงพฤติกรรมการใช้งานล่าสุดของแอปโดยจับคู่คําขอของแอปกับรูปแบบ URL อัตโนมัติ

การจับคู่รูปแบบ URL อัตโนมัติทํางานอย่างไร

Firebase จะจับคู่คําขอแต่ละรายการกับรูปแบบ URL อัตโนมัติที่ตรงที่สุดซึ่งมาจากคําขอที่แอปของคุณส่ง อย่างไรก็ตาม โปรดทราบว่า Firebase จะพยายามจับคู่ URL คำขอกับรูปแบบ URL ที่กำหนดเองที่กําหนดค่าไว้ก่อน

ต่อไปนี้เป็นตัวอย่างพื้นฐานของวิธีที่ Firebase พยายามจับคู่คําขอกับรูปแบบ URL อัตโนมัติที่ตรงกับแอปของคุณมากที่สุด

  1. แอปของคุณส่งคำขอจำนวนมากไปยัง URL ต่อไปนี้

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    Firebase พิจารณาว่า example.com/germany/** เป็นรูปแบบคำขอทั่วไปสำหรับแอปของคุณ และเพิ่มรูปแบบดังกล่าวเป็นรูปแบบ URL อัตโนมัติในโปรเจ็กต์

    สําหรับคําขอที่ตรงกับรูปแบบ URL นี้ใหม่ Firebase จะรวบรวมข้อมูลของคําขอภายใต้รูปแบบ URL อัตโนมัติ example.com/germany/**

  2. หลังจากผ่านไป 1 สัปดาห์ คําขอส่วนใหญ่ของแอปมีไว้สําหรับ example.com/germany/animals/bears และ example.com/germany/animals/birds Firebase จึงสร้างรูปแบบ URL ที่แสดงถึง example.com/germany/animals/** ได้มากขึ้น

    สําหรับคําขอที่ตรงกันใหม่กับรูปแบบ URL ใหม่นี้ Firebase จะรวบรวมข้อมูลของคําขอเท่านั้นภายใต้รูปแบบ URL ใหม่ Firebase จะยังคงรวบรวมข้อมูลสําหรับคําขอไปยัง example.com/germany/cars ภายใต้ example.com/germany/**

  3. อย่างไรก็ตาม ในอีกไม่กี่สัปดาห์ข้างหน้า คำขอของแอปคุณที่จะเข้าถึง example.com/germany/animals/bears และ example.com/germany/animals/birds จะลดลงอย่างมาก Firebase พิจารณาว่า example.com/germany/animals/** ไม่ได้แสดงถึงลักษณะการใช้งานล่าสุดของแอป Firebase จึงเริ่มจับคู่คําขอ 2 รายการนี้กลับไปยัง example.com/germany/**

    Firebase จะไม่รวบรวมข้อมูลคําขอเพิ่มเติมในส่วน example.com/germany/animals/** เนื่องจากไม่ใช่รูปแบบ URL อัตโนมัติที่ตรงที่สุดอีกต่อไป

โปรดทราบว่าการจับคู่รูปแบบ URL อัตโนมัติเป็นแบบไดนามิก ดังนั้นโปรดคำนึงถึงสิ่งต่อไปนี้

  • รูปแบบที่ตรงกันและข้อมูลที่รวบรวมจากคำขอก่อนหน้าจะไม่ได้รับผลกระทบจากรูปแบบ URL ใหม่ Firebase จะไม่รวบรวมข้อมูลคำขออีกครั้งย้อนหลัง

  • เฉพาะคำขอในอนาคตเท่านั้นที่จะได้รับผลกระทบจากรูปแบบ URL ใหม่ Firebase จะแมปคำขอใหม่แต่ละรายการไปยังรูปแบบ URL อัตโนมัติที่ตรงกับรูปแบบมากที่สุด อย่างไรก็ตาม โปรดทราบว่า Firebase จะพยายามจับคู่ URL คำขอกับรูปแบบ URL ที่กำหนดเองที่กําหนดค่าไว้ก่อน

ดูรูปแบบ URL อัตโนมัติและข้อมูลของรูปแบบ

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

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

เมื่อระยะเวลาการเก็บรักษาข้อมูลสิ้นสุดลงสําหรับข้อมูลที่รวบรวมภายใต้รูปแบบ URL หนึ่งๆ Firebase จะลบข้อมูลนั้นออกจากรูปแบบ URL หากข้อมูลทั้งหมดที่รวบรวมภายใต้รูปแบบ URL อัตโนมัติหมดอายุ Firebase จะลบรูปแบบ URL นั้นออกจากคอนโซล Firebase

รูปแบบ URL ที่กำหนดเอง

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

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

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

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

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

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

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

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

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

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

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

ดูร่องรอยและข้อมูลร่องรอย

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

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

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

คุณเข้าถึงหน้าการแก้ปัญหาได้ดังนี้

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

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

รูปภาพ <span class=ข้อมูลการตรวจสอบประสิทธิภาพ Firebase ที่กรองตามแอตทริบิวต์" />
  • กรองตามเวอร์ชันแอปเพื่อดูข้อมูลเกี่ยวกับรุ่นที่ผ่านมาหรือรุ่นล่าสุด
  • กรองตามอุปกรณ์เพื่อดูวิธีที่อุปกรณ์รุ่นเก่าจัดการแอปของคุณ
  • กรองตามประเทศเพื่อให้แน่ใจว่าตำแหน่งฐานข้อมูลไม่ได้ส่งผลกระทบต่อภูมิภาคที่เฉพาะเจาะจง

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

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

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

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

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

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