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 éléments sont utiles pour afficher, utiliser et analyser des données spécifiques.

Si vous ne l'avez pas encore 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

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

Pour savoir comment filtrer vos journaux à l'aide de 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"
  • Identifiez les plantages qui se produisent 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"
  • Recherchez un 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"
  • Recherchez les événements associés à 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 journalisation pour les données exportées, y compris les données Crashlytics, les 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, comme 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 effectuer le suivi de valeurs particulières dans les entrées de journal correspondantes. Vous pouvez filtrer les données à l'aide d'expressions régulières. Veillez à consulter les tarifs 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 de sessions Crashlytics et Firebase exportées :

  • À l'aide des données Crashlytics :
    Créez une métrique nommée firebase/crashlytics_events avec un libellé errorType, et définissez-la comme suit :

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

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

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

Étape suivante