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

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

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

ใช้แดชบอร์ดการใช้งานใน Google Cloud Console และ Firebase Console เพื่อดูการอ่าน การเขียน และการลบเอกสารในช่วงระยะเวลาหนึ่ง

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

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

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

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

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

    ไปที่ฐานข้อมูล

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

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

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

    <span class=แดชบอร์ดการใช้งานฐานข้อมูล Cloud Firestore ในคอนโซล Google Cloud"/>

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

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

คอนโซล Google Cloud

ไปที่หน้าการใช้งานโปรเจ็กต์ใน Google Cloud Console

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

แดชบอร์ดการใช้งานโปรเจ็กต์จะแสดงการดำเนินการในเอกสารในช่วงระยะเวลาหนึ่งดังนี้

<span class=แดชบอร์ดการใช้งานโปรเจ็กต์ Cloud Firestore ในคอนโซล Google Cloud"/>

Firebase คอนโซล

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

<span class=แดชบอร์ดการใช้งาน Cloud Firestore ในFirebase Console"/>

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

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

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

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

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

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

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

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

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

ไปที่กฎ

<span class=แดชบอร์ดการตรวจสอบกฎ Cloud Firestore ในFirebaseคอนโซล"/>

เมตริก Cloud Monitoring รายการ

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

Cloud Monitoring มีCloud Firestoreเมตริกต่อไปนี้

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

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

เมตริกนี้ไม่รวมการอ่านจากการส่งออกที่จัดการหรือการดำเนินการลบแบบเป็นกลุ่ม

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

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

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

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

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

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

Listener ของสแนปชอต

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

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

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

การหมดอายุของ Time-to-live จนถึงความล่าช้าในการลบ

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

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

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

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

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

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

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

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

เช่น กราฟของเวลาในการตอบสนองที่เปอร์เซ็นไทล์ที่ 50 จะอยู่ในมุมมองเครื่องมือสำรวจเมตริกของ Cloud Console

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

หากต้องการดูแดชบอร์ดที่กำหนดไว้ล่วงหน้าหรือตั้งค่าแดชบอร์ด โปรดดูใช้แดชบอร์ดการตรวจสอบ

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