После экспорта данных Crashlytics и (при необходимости) данных о сессиях Firebase в Cloud Logging вы можете фильтровать журналы и создавать метрики на основе журналов . И то, и другое полезно для просмотра, использования и анализа конкретных данных.
Если вы еще этого не сделали, обязательно ознакомьтесь со статьей «Что можно делать с вашими данными?» , где представлен исчерпывающий список и примеры работы с данными, хранящимися в Cloud Logging .
Фильтруйте журналы с помощью запросов.
Фильтрация журналов полезна для просмотра конкретных данных, а также для снижения затрат на хранение данных и дальнейший анализ. Фильтрация журналов осуществляется с помощью LQL (языка запросов к логам) .
Чтобы узнать, как фильтровать журналы с помощью запросов, посетите разделы «Примеры запросов с использованием Logs Explorer и «Создание запросов к журналам» . В таблице ниже описаны поля, доступные для этих запросов.
Примеры фильтров
Вот несколько примеров начальных фильтров для запроса в Crashlytics :
Найти все критические сбои для конкретной версии приложения:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.version.displayVersion="3.2.0"
Выявление сбоев, возникающих на конкретной модели устройства (например, Pixel 6a):
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.device.model="Pixel 6a"
Найдите конкретную
OutOfMemoryErrorсреди всех критических событий:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
Найдите события, относящиеся к конкретному идентификатору проблемы Crashlytics :
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.id="ISSUE_ID"
Схема логов
Каждая запись в журнале имеет предопределенную структуру и поля, доступные для запросов (см. LogEntry ).
Узнайте о схеме логирования для экспортируемых данных , включая данные Crashlytics , данные сессий Firebase и журналы устройств .
Создавайте метрики на основе логов.
Вы можете просматривать и создавать метрики на основе логов , а затем использовать эти метрики в Cloud Monitoring для создания диаграмм, пользовательских панелей мониторинга и пользовательских оповещений.
Используйте предопределенные системные метрики , которые записываются автоматически, например, количество событий логирования, произошедших за определенный период времени.
Создавайте пользовательские метрики для своего проекта. Вы можете подсчитывать количество записей в журнале, соответствующих заданному запросу, или отслеживать определенные значения в соответствующих записях журнала. Вы можете фильтровать данные с помощью регулярных выражений. Обязательно ознакомьтесь с ценами на пользовательские метрики .
Используйте Cloud Monitoring для записи количества записей в журналах, содержащих определенные сообщения, или для извлечения информации о задержке, указанной в записях журналов. Затем вы можете использовать эти метрики в диаграммах и пользовательских оповещениях.
Пример метрик на основе логов
Вот два примера пользовательских метрик на основе логов, которые вы можете создать из экспортированных данных сессий Crashlytics и Firebase:
Используя данные Crashlytics :
Создайте метрику с именемfirebase/crashlytics_events, меткойerrorTypeи определите её следующим образом:logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fevents"Использование данных сессий Firebase:
Создайте метрику с именемfirebase/session_events, меткойeventTypeи определите её следующим образом:logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fsession_events"
Что дальше?
Создавайте временные диаграммы для быстрой визуализации данных.
Создавайте пользовательские панели мониторинга для долгосрочного и расширенного отслеживания.
Настройте и отправляйте пользовательские оповещения в пользовательские каналы уведомлений.