ตรวจสอบกิจกรรม Cloud Firestore

หน้านี้อธิบายวิธีตรวจสอบการใช้งาน Cloud Firestore และตรวจหาปัญหาที่อาจเกิดขึ้นในแอป

แดชบอร์ดการใช้งาน

ใช้แดชบอร์ดการใช้งานในคอนโซล Google Cloud Platform และคอนโซล Firebase เพื่อดูการอ่าน การเขียน และลบเอกสารเมื่อเวลาผ่านไป

การควบคุมการเข้าถึง

แดชบอร์ดการใช้งานต้องมีสิทธิ์ Cloud IAM ของ monitoring.timeSeries.list บทบาทเจ้าของโปรเจ็กต์ ผู้แก้ไข และผู้ดูจะให้สิทธิ์นี้ นอกจากนี้คุณยังให้สิทธิ์นี้ผ่านบทบาท Cloud Monitoring หรือบทบาทที่กำหนดเองได้ด้วย

แดชบอร์ดการใช้งานฐานข้อมูล

หากต้องการดูเมตริกการใช้งานสำหรับฐานข้อมูล Cloud Firestore ให้เปิดหน้าการใช้งานของฐานข้อมูลในคอนโซล GCP

  1. ในคอนโซล Google Cloud Platform ให้ไปที่หน้าฐานข้อมูล

    ไปที่ Databases

  2. เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล

  3. ในเมนูการนำทาง ให้คลิกการใช้งาน

  4. คลิกลิงก์ในข้อความที่ปรากฏบนหน้าเว็บเพื่อดูการใช้งานฐานข้อมูล

    แดชบอร์ดการใช้งานฐานข้อมูล Cloud Firestore ในคอนโซล GCP

แดชบอร์ดการใช้งานรวม

หากโปรเจ็กต์มีฐานข้อมูล Cloud Firestore หลายรายการ คุณจะดูเมตริกการใช้งานรวมได้ในคอนโซล GCP หรือคอนโซล Firebase

คอนโซล GCP

ในคอนโซล Google Cloud Platform ให้ไปที่หน้าการใช้งานโปรเจ็กต์

ไปที่การใช้งานโปรเจ็กต์ GCP

แดชบอร์ดการใช้งานโปรเจ็กต์จะแสดงการดำเนินการของเอกสารเมื่อเวลาผ่านไป ดังนี้

แดชบอร์ดการใช้งานโปรเจ็กต์ Cloud Firestore ในคอนโซล GCP

คอนโซล Firebase

ไปที่หน้าการใช้งาน Cloud Firestore (คอนโซล Firebase)

แดชบอร์ดการใช้งาน Cloud Firestore ในคอนโซล Firebase

แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน

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

การดำเนินการที่ทำให้เกิดความคลาดเคลื่อนระหว่างแดชบอร์ดการใช้งานและการใช้งานที่เรียกเก็บเงินมีดังนี้

  • การดำเนินการนำเข้าและส่งออก การอ่านและเขียนที่ดำเนินการโดยการดำเนินการเหล่านี้จะไม่ปรากฏในแดชบอร์ดการใช้งาน
  • การเขียนแบบยืนยันเท่านั้นโดยไม่มีการดำเนินการ การเขียนที่ยืนยันการมีอยู่หรือไม่มีอยู่ของเอกสารจะมีส่วนร่วมในการดำเนินการอ่านที่มีการเรียกเก็บเงิน แต่จะแสดงเป็น "UPDATE_NOOP" และ "DELETE_NOOP" ตามลำดับในหน้าแดชบอร์ดการใช้งานการเขียน
  • การเขียนที่ไม่มีการดำเนินการ การดำเนินการที่ไม่ทำให้เกิดการเปลี่ยนแปลงในฐานข้อมูล เช่น การอัปเดตที่ไม่ได้เปลี่ยนค่าในช่อง หรือการเขียนไปยังเอกสารที่ถูกลบ อาจแสดงในหน้าแดชบอร์ดการใช้งานเป็น "UPDATE_NOOP" หรือ "DELETE_NOOP" แม้ว่าจะแสดงเป็น "NOOP" ก็ยังคงมีส่วนในการดำเนินงานที่มีการเรียกเก็บเงิน
  • การเขียนที่ยุบแล้ว ในกรณีที่มีการเขียนหลายรายการในเอกสารเดียวกันแบบต่อเนื่องอย่างรวดเร็ว แดชบอร์ดการใช้งานอาจยุบการเขียนหลายรายการไว้ด้วยกันและนับเป็น 1 การเขียน เมื่อใช้การเรียกเก็บเงิน ระบบจะนับการเขียนแต่ละรายการแยกกัน

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

  • การค้นหาที่แสดงผลลัพธ์เป็น 0 การค้นหาที่แสดงผลลัพธ์เป็น 0 จะ มีค่าใช้จ่ายในการดำเนินการอ่าน 1 ครั้ง การใช้งานนี้จะมีการเรียกเก็บเงิน แต่จะไม่ปรากฏใน แดชบอร์ดการใช้งาน
  • อ่านการดำเนินการจากการอ่านรายการดัชนี ระบบจะเรียกเก็บเงินการใช้งานนี้ แต่ไม่ปรากฏในแดชบอร์ดการใช้งาน ตัวอย่างเช่น การเรียกเก็บเงินค่าการค้นหาการรวมสำหรับรายการดัชนีที่อ่านแล้ว แต่การใช้งานนี้ไม่ปรากฏในแดชบอร์ดการใช้งาน

แดชบอร์ดการใช้งานสำหรับการลบจะไม่บันทึกการดำเนินการหมดอายุอัตโนมัติที่ดำเนินการโดยนโยบาย Time-to-live (TTL) โปรดดูเมตริก TTL จาก Cloud Monitoring

การใช้กฎความปลอดภัย

นอกจากนี้ คอนโซล Firebase ยังมีหน้าแดชบอร์ดการประเมินกฎความปลอดภัย ซึ่งเป็นมุมมองโดยย่อที่เป็นประโยชน์ของการเรียกใช้กฎ คุณสามารถเสริมหน้าแดชบอร์ดนี้ได้ด้วยการวิเคราะห์โดยละเอียดใน Cloud Monitoring

ไปที่กฎ

แดชบอร์ดการตรวจสอบกฎ Cloud Firestore ในคอนโซล Firebase

เมตริก Cloud Monitoring

Cloud Monitoring จะรวบรวมเมตริก เหตุการณ์ และข้อมูลเมตาจากผลิตภัณฑ์ Google Cloud แดชบอร์ดการใช้งานในคอนโซล Cloud Firestore จะรายงานข้อมูลเมตริกเดียวกัน หากต้องการตั้งค่าแดชบอร์ดที่กำหนดเองและการแจ้งเตือนการใช้งาน ให้ใช้ Cloud Monitoring

Cloud Monitoring ประกอบด้วยเมตริก Cloud Firestore ต่อไปนี้

ชื่อเมตริก คำอธิบาย
การอ่านเอกสาร

จำนวนการอ่านเอกสารที่สำเร็จ คุณแจกแจงเมตริกนี้ได้ตามประเภทการอ่าน LOOKUP หรือ QUERY

เมตริกนี้ไม่รวมการอ่านจากการดำเนินการส่งออกที่มีการจัดการ

การเขียนเอกสาร

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

เมตริกนี้ไม่รวมการเขียนจากการดำเนินการนำเข้าที่มีการจัดการ

การลบเอกสาร จำนวนการลบเอกสารที่สำเร็จ
การเชื่อมต่อที่ใช้งานอยู่

จำนวนการเชื่อมต่อกับฐานข้อมูลที่ใช้งานอยู่

SDK สำหรับอุปกรณ์เคลื่อนที่และเว็บที่ใช้งานอยู่แต่ละรายการจะมีการเชื่อมต่อรายการเดียว ซึ่งแชร์กับ Listener ของสแนปชอตได้หลายรายการ ไลบรารีของไคลเอ็นต์ของเซิร์ฟเวอร์สร้างการเชื่อมต่อ 1 รายการต่อ Listener ของสแนปชอต

Listener ของสแนปชอต

จำนวน Listener ของสแนปชอตในการเชื่อมต่อที่ใช้งานอยู่ทั้งหมด

จำนวนการลบแบบ Time to Live

จำนวนเอกสารทั้งหมดที่นโยบาย Time-to-live (TTL) ถูกลบ

การหมดอายุแบบ Time to Live จนถึงการหน่วงเวลาการลบ

เวลาที่ผ่านไประหว่างที่เอกสารหมดอายุภายใต้นโยบาย Time to Live (TTL) กับการลบเอกสารจริง

การใช้งานการอัปเดตแบบเรียลไทม์

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

สมมติว่าผู้ใช้เปิดแอปของคุณในโทรศัพท์ จากนั้นแอปจะเชื่อมต่อกับ Cloud Firestore และสมัครรับข้อมูลคำค้นหา 10 รายการ ซึ่งจะเพิ่มเมตริกของคุณขึ้นอีก 1 การเชื่อมต่อที่ใช้งานอยู่ 1 รายการและ Listener ของสแนปชอต 10 รายการ

อัตราการสุ่มตัวอย่าง

ระบบจะสุ่มตัวอย่างเมตริก Cloud Firestore ทุกนาที แต่การอัปเดตอาจใช้เวลาถึง 4 นาทีจึงจะแสดงในแดชบอร์ด

เมตริกเวลาในการตอบสนอง

เมตริกเวลาในการตอบสนองของแบ็กเอนด์มีให้บริการผ่านเมตริก Firestore ทั่วไปของ Google Cloud

เช่น คุณจะดูกราฟเวลาในการตอบสนอง p50 ได้ในมุมมองเครื่องมือสำรวจเมตริกของ Cloud Console

ตั้งค่าหน้าแดชบอร์ด Cloud Monitoring

หากต้องการตั้งค่าหน้าแดชบอร์ดด้วยเมตริก Cloud Firestore โปรดดูจัดการหน้าแดชบอร์ดที่กำหนดเองและเพิ่มวิดเจ็ตหน้าแดชบอร์ด

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