На этой странице описано, как отслеживать использование Cloud Firestore и выявлять потенциальные проблемы в вашем приложении.
Панель мониторинга использования
Используйте панели мониторинга использования в консоли Google Cloud и консоли Firebase , чтобы просмотреть данные о чтении, записи и удалении документов за определенный период времени.
контроль доступа
Для отображения данных на панелях мониторинга требуется разрешение Cloud IAM monitoring.timeSeries.list . Это разрешение предоставляется ролями «Владелец проекта», «Редактор» и «Просмотрщик». Вы также можете предоставить это разрешение через роль Cloud Monitoring или пользовательскую роль .
Панель мониторинга использования базы данных
Чтобы просмотреть показатели использования базы данных Cloud Firestore , откройте страницу « Использование базы данных» в консоли Google Cloud.
В консоли Google Cloud перейдите на страницу «Базы данных» .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите «Использование» .
Чтобы просмотреть данные об использовании базы данных, нажмите на ссылку в сообщении, которое появится на странице.
Панель мониторинга использования базы данных Cloud Firestore в консоли Google Cloud."/>
Сводная панель мониторинга использования
Если в вашем проекте используется несколько баз данных Cloud Firestore , вы можете просмотреть сводные показатели использования в консоли Google Cloud или консоли Firebase .
Консоль Google Cloud
В консоли Google Cloud перейдите на страницу «Использование проекта» .
Перейдите в раздел «Использование проекта» проекта Google Cloud.
На панели мониторинга использования проекта отображаются операции с документами с течением времени следующим образом:
Панель мониторинга использования проектов Cloud Firestore в консоли Google Cloud."/>
Консоль Firebase
Перейдите на страницу использования Cloud Firestore (консоль Firebase ).
Панель мониторинга использования Cloud Firestore в консоли Firebase ."/>
Панель мониторинга использования и отчеты по выставлению счетов
Панели мониторинга использования Cloud Firestore в консолях Firebase и Cloud предоставляют приблизительную оценку использования. Они могут помочь выявить пики использования. Однако панель мониторинга не отражает точное количество оплаченных операций. Фактический объем использования, скорее всего, выше. Во всех случаях расхождения отчет о выставленных счетах имеет приоритет над панелью мониторинга использования.
К операциям, вызывающим расхождения между данными на панели управления использованием и выставленными счетами, относятся:
- Операции импорта и экспорта. Операции чтения и записи, выполняемые в рамках этих операций, не отображаются на панели мониторинга использования.
- Записи, которые лишь проверяют существование или несуществование документа, не влияют на оплачиваемые операции чтения, но отображаются на панели мониторинга использования записей как `UPDATE_NOOP` и `DELETE_NOOP` соответственно.
- Операции записи, не приводящие к изменению базы данных, такие как обновление, не изменяющее значения полей, или запись в удаленный документ, могут отображаться на панели мониторинга использования как `UPDATE_NOOP` или `DELETE_NOOP`. Даже если они отображаются как `NOOP`, они все равно учитываются в качестве оплачиваемых операций.
Свернутые операции записи. В случаях, когда в один и тот же документ выполняется несколько операций записи подряд, панель мониторинга использования может свернуть несколько операций записи и засчитать их как одну. При выставлении счетов за использование каждая операция записи по-прежнему учитывается отдельно.
На панели мониторинга использования также отображаются операции записи для преобразований полей, таких как метки времени сервера, числовые приращения и операции объединения массивов. Для преобразований полей панель мониторинга использования может учитывать несколько операций как одну.
- Запросы, возвращающие нулевой результат. Запросы с нулевым результатом влекут за собой стоимость одной операции чтения. Это использование оплачивается, но не отображается на панели мониторинга использования.
- Операции чтения из прочитанных записей индекса . Это использование оплачивается, но не отображается на панели мониторинга использования. Например, агрегационные запросы оплачиваются за чтение записей индекса, но это использование не отображается на панели мониторинга использования.
Панель мониторинга использования для операций удаления не отображает операции автоматического истечения срока действия, выполняемые политиками времени жизни (TTL). Пожалуйста, обратитесь к метрикам TTL в Cloud Monitoring .
использование правил безопасности
Кроме того, консоль Firebase предоставляет панель мониторинга оценки правил безопасности Firebase, обеспечивающую удобный и наглядный обзор вызовов правил. Вы также можете отслеживать использование правил безопасности Firebase через Cloud Monitoring . Это предоставляет те же метрики оценки правил, а также возможность создавать пользовательские панели мониторинга, анализировать тенденции и настраивать оповещения (например, при резком увеличении количества отклоненных запросов). Полный список доступных метрик см. в справочнике метрик Cloud Monitoring .
Панель мониторинга правил Cloud Firestore в консоли Firebase .
Метрики Cloud Monitoring
Cloud Monitoring собирает метрики, события и метаданные из продуктов Google Cloud . Панель мониторинга использования в консоли Cloud Firestore отображает те же данные метрик. Для настройки пользовательских панелей мониторинга и оповещений об использовании используйте Cloud Monitoring .
Cloud Monitoring включает следующие метрики Cloud Firestore :
| Название метрики | Описание |
|---|---|
| Чтение документов | Количество успешных прочтений документа. Этот показатель можно разбить по типу чтения: LOOKUP или QUERY. Этот показатель не включает операции чтения из управляемого экспорта или массового удаления. |
| Запись документа | Количество успешных операций записи документа. Вы можете разбить этот показатель по типу записи: CREATE или UPDATE. Этот показатель не включает операции записи, выполняемые в рамках управляемых операций импорта. |
| Удаление документов | Количество успешных удалений документов. |
| Активные соединения | Количество активных подключений к вашей базе данных. Каждый активный мобильный и веб-SDK поддерживает одно соединение, которое может использоваться несколькими обработчиками снимков. Клиентские библиотеки сервера создают одно соединение для каждого обработчика снимков. |
| Слушатели моментальных снимков | Количество слушателей моментальных снимков по всем активным соединениям. |
| Количество удалений, приведших к увеличению продолжительности жизни | Общее количество документов, удаленных политиками времени жизни (TTL) . |
| Задержки между истечением срока действия и удалением данных | Прошло время между моментом, когда срок действия документа истек в соответствии с политикой Time-to-live (TTL), и моментом его фактического удаления. |
- Использование обновлений в реальном времени
Используйте метрики активных подключений и прослушивателей снимков для измерения использования обновлений в реальном времени .
Допустим, пользователь открывает ваше приложение на своем телефоне. Затем приложение подключается к Cloud Firestore и подписывается на 10 запросов. Это увеличивает ваши метрики на 1 активное соединение и 10 слушателей снимков.
- Частота дискретизации
Метрики Cloud Firestore собираются каждую минуту, но обновления могут отображаться на ваших панелях мониторинга до 4 минут.
Метрики задержки
Метрики задержки на бэкэнде доступны через стандартные метрики Google Cloud Firestore .
Например, график задержки p50 можно найти в окне просмотра метрик в Cloud Console.
Настройте панель Cloud Monitoring .
Чтобы просмотреть предварительно настроенную панель мониторинга или настроить ее, см. раздел «Использование панели мониторинга» .
Что дальше?
- Узнайте больше о Cloud Monitoring .
- Узнайте о лучших практиках мониторинга производительности Firestore .