Как отслеживать действия в Cloud Firestore

На этой странице описано, как отслеживать использование Cloud Firestore и выявлять потенциальные проблемы в приложении.

Панель использования

Используйте панели мониторинга использования в консоли Google Cloud и консоли Firebase, чтобы просматривать количество операций чтения, записи и удаления документов за определенный период времени.

Контроль доступа

Для работы с панелями мониторинга использования требуется разрешение Cloud IAM monitoring.timeSeries.list. Это разрешение есть у владельца, редактора и читателя проекта. Вы также можете предоставить это разрешение с помощью роли Cloud Monitoring или специальной роли.

Панель управления использованием базы данных

Чтобы посмотреть показатели использования базы данных Cloud Firestore, откройте страницу Использование в консоли Google Cloud.

  1. В консоли Google Cloud перейдите на страницу Databases (Базы данных).

    Перейти к базам данных

  2. Выберите нужную базу данных из списка.

  3. В меню навигации нажмите Использование.

  4. Чтобы посмотреть статистику использования базы данных, нажмите на ссылку в сообщении, которое появится на странице.

    Панель управления использованием базы данных в консоли.

Панель сводных данных об использовании

Если в вашем проекте несколько баз данных Cloud Firestore, вы можете посмотреть агрегированные показатели использования в консоли Google Cloud или консоли Firebase.

Консоль Google Cloud

В консоли Google Cloud перейдите на страницу Использование проекта.

Перейти к использованию проекта Google Cloud

На панели использования проекта показаны операции с документами за определенный период времени:

Панель управления использованием проекта в консоли Google Cloud.

Консоль Firebase

Перейти на страницу использования Cloud Firestore (консоль Firebase)

Панель использования в консоли Firebase.

Панель использования и отчеты об оплате

Панели управления использованием Cloud Firestore в консолях Firebase и Cloud предоставляют приблизительные данные. Они помогут вам выявить пики использования. Однако на панели управления не отражаются точные данные об оплачиваемых операциях. Скорее всего, оплачиваемое использование будет выше. Во всех случаях расхождений отчет об оплате имеет приоритет над панелью управления использованием.

К операциям, которые вызывают расхождения между панелью использования и оплаченным использованием, относятся:

  • Импорт и экспорт. Операции чтения и записи, выполняемые в рамках этих операций, не отображаются на панели использования.
  • Записи только для проверки No-op. Операции записи, которые только проверяют наличие или отсутствие документа, учитываются как платные операции чтения, но на панели управления использованием операций записи они отображаются как UPDATE_NOOP и DELETE_NOOP соответственно.
  • Записи No-op. Операции, которые не приводят к изменению базы данных, например обновление, не меняющее значения полей, или запись в удаленный документ, могут отображаться на панели управления как UPDATE_NOOP или DELETE_NOOP. Хотя они отображаются как NOOP, они все равно учитываются в оплачиваемых операциях.
  • Свернутые записи. Если в один и тот же документ быстро вносится несколько изменений, на панели использования они могут быть объединены и учтены как одно. При выставлении счетов за использование каждая запись по-прежнему учитывается отдельно.

    На панели использования также сворачиваются записи для преобразований полей, таких как временные метки сервера, числовые приращения и операции объединения массивов. При преобразовании полей панель мониторинга использования может считать несколько операций как одну.

  • запросы, по которым не возвращаются результаты; Запросы, не возвращающие результатов, оплачиваются как одна операция чтения. Это использование оплачивается, но не отображается на панели мониторинга использования.
  • Операции чтения из прочитанных записей индекса. За это использование взимается плата, но оно не отображается на панели управления. Например, за запросы агрегирования взимается плата за прочитанные записи индекса, но это использование не отображается на панели управления использованием.
  • Запросы на получение списка идентификаторов коллекций. На панели использования регистрируется одна операция чтения на идентификатор коллекции, что отличается от оплаты.

На панели использования для удалений не фиксируются операции автоматического истечения срока действия, выполняемые правилами TTL. Ознакомьтесь с показателями TTL в Cloud Monitoring.

Использование правил безопасности

Кроме того, в консоли Firebase есть панель оценки правил безопасности Firebase, на которой можно быстро посмотреть вызовы правил. Вы также можете отслеживать использование правил безопасности Firebase в Cloud Monitoring. Это позволяет получать те же показатели оценки правил, а также создавать собственные панели мониторинга, анализировать тенденции и настраивать оповещения (например, когда резко возрастает количество отклоненных запросов). Полный список доступных показателей приведен в справочнике по показателям Cloud Monitoring.

Перейти в раздел "Правила"

Панель мониторинга правил безопасности в консоли Firebase.

Cloud Monitoring показателя

Cloud Monitoring собирает показатели, события и метаданные из продуктов Google Cloud. На панели использования в консоли Cloud Firestore представлены те же показатели. Чтобы настроить собственные сводки и оповещения об использовании, используйте Cloud Monitoring.

Cloud Monitoring включает следующие показатели Cloud Firestore:

Название показателя Описание
Чтение документов

Количество успешных считываний документов. Этот показатель можно разбить по типу чтения: LOOKUP или QUERY.

Этот показатель не включает операции чтения, выполняемые в рамках управляемого экспорта или массового удаления.

Запись документов

Количество успешных записей документов. Показатель можно разбить по типу записи: CREATE или UPDATE.

Этот показатель не включает записи из управляемых операций импорта.

Удаление документов Количество успешно удаленных документов.
Активные подключения

Количество активных подключений к базе данных.

Каждый активный SDK для мобильных устройств и веб-приложений поддерживает одно подключение, которое может использоваться несколькими прослушивателями снимков. Серверные клиентские библиотеки создают по одному подключению на каждый прослушиватель снимков.

Snapshot Listener

Количество прослушивателей снимков во всех активных подключениях.

Количество удалений по истечении срока хранения

Общее количество документов, удаленных правилами TTL.

Задержки между истечением срока хранения и удалением

Время, прошедшее с момента, когда срок действия документа истек в соответствии с правилом TTL, до момента, когда он был фактически удален.

Использование обновлений в реальном времени

Используйте показатели активных подключений и прослушивателей снимков, чтобы оценить использование обновлений в реальном времени.

Предположим, пользователь открывает ваше приложение на телефоне. Затем приложение подключается к Cloud Firestore и подписывается на 10 запросов. Это увеличивает ваши показатели на 1 активное подключение и 10 прослушивателей снимков.

Частота дискретизации

Показатели Cloud Firestore собираются каждую минуту, но на их обновление в сводках может уходить до четырех минут.

Показатели задержки

Показатели задержки бэкенда доступны в общих показателях Google Cloud firestore.

Например, график задержки p50 можно найти в представлении Metrics Explorer в Cloud Console.

Как настроить сводку Cloud Monitoring

Чтобы посмотреть стандартную сводку или настроить ее, ознакомьтесь со статьей Как использовать сводку мониторинга.

Дальнейшие действия