Filtrer les journaux et créer des métriques basées sur les journaux

Une fois vos données Crashlytics et (éventuellement) vos données de sessions Firebase exportées vers Cloud Logging, vous pouvez filtrer vos journaux et créer des métriques basées sur les journaux. Ces deux opérations sont utiles pour afficher, utiliser et analyser des données spécifiques.

Si ce n'est pas déjà fait, consultez Que pouvez-vous faire avec vos données ? pour obtenir une liste complète et des exemples d'utilisation des données stockées dans Cloud Logging.

Filtrer vos journaux avec des requêtes

Le filtrage de vos journaux est utile pour afficher des données spécifiques, ainsi que pour réduire les coûts de stockage des données et d'analyse plus approfondie. Vous filtrez les journaux à l'aide du LQL (langage de requête Logging).

Pour savoir comment filtrer vos journaux avec des requêtes, consultez Exemples de requêtes avec Logs Explorer et Créer des requêtes de journal. Le tableau ci-dessous décrit les champs disponibles pour ces requêtes.

Exemples de filtres

Voici quelques exemples de filtres initiaux pour une requête Crashlytics :

  • Rechercher tous les plantages fatals pour une version d'application spécifique :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • Identifier les plantages survenant sur un modèle d'appareil spécifique (par exemple, Pixel 6a) :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • Rechercher une erreur OutOfMemoryError spécifique dans tous les événements fatals :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • Rechercher des événements pour un ID de problème Crashlytics spécifique :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

Schéma de journal

Chaque entrée de journal possède une structure prédéfinie et des champs interrogeables (voir LogEntry).

Découvrez le schéma de journal pour les données exportées, y compris les Crashlytics données, données de sessions Firebase, et les journaux d'appareils.

Créer des métriques basées sur les journaux

Vous pouvez afficher et créer des métriques basées sur les journaux, puis les utiliser dans Cloud Monitoring pour créer des graphiques, des tableaux de bord personnalisés et des alertes personnalisées.

  • Utilisez des métriques système prédéfinies qui sont enregistrées automatiquement, telles que le nombre d'événements de journalisation survenus au cours d'une période donnée.

  • Créez des métriques définies par l'utilisateur pour votre projet. Vous pouvez compter le nombre d'entrées de journal correspondant à une requête donnée ou suivre des valeurs spécifiques avec les entrées de journal correspondantes. Vous pouvez filtrer à l'aide d'expressions régulières. Veillez à consulter la tarification des métriques définies par l'utilisateur.

  • Utilisez Cloud Monitoring pour enregistrer le nombre d'entrées de journal contenant des messages particuliers ou extraire des informations de latence signalées dans les entrées de journal. Vous pouvez ensuite utiliser ces métriques dans des graphiques et des alertes personnalisées.

Exemples de métriques basées sur les journaux

Voici deux exemples de métriques basées sur les journaux définies par l'utilisateur que vous pouvez créer à partir de vos données exportées Crashlytics et de sessions Firebase :

  • Utiliser les données Crashlytics :
    Créez une métrique nommée firebase/crashlytics_events avec un libellé errorType, puis définissez-la comme suit :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"

  • Utiliser les données de sessions Firebase :
    Créez une métrique nommée firebase/session_events avec un libellé eventType, puis définissez-la comme suit :

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"

Étape suivante