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

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

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

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

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

แดชบอร์ดการใช้งานต้องใช้สิทธิ์ 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

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

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

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

คอนโซล Firebase

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

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

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

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

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

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

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

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

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

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

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

ไปที่กฎ

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

เมตริก Cloud Monitoring

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

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

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

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

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

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

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

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

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

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

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 รายการและ Listener ของสแนปชอต 10 รายการ

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

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

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

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

ตัวอย่างเช่น คุณดูแผนภูมิเวลาในการตอบสนอง p50 ได้ในมุมมอง Explorer เมตริกของ Cloud Console

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

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

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