Vue d’ensemble de la journalisation et du traçage

Vous pouvez enregistrer l’activité de votre code de fonction et de procédure Snowflake (y compris le code que vous écrivez en utilisant les APIs Snowpark) en capturant les messages de journal et les événements de trace du code pendant qu’il s’exécute. Une fois les données collectées, vous pouvez les interroger avec SQL pour analyser les résultats.

Vous pouvez notamment enregistrer et analyser les éléments suivants :

  • Les messages de journal sont des messages indépendants et détaillés contenant des informations sur l’état d’un élément spécifique de votre code.

  • Tracez des événements avec des données structurées que vous pouvez utiliser pour obtenir des informations couvrant et regroupant plusieurs parties de votre code.

Prise en main

Suivez les étapes de haut niveau suivantes pour commencer à capturer et à utiliser les données de journal et de trace.

  1. Créez une table d’événements.

    Dans Snowflake, vous stockez vos données de journal et de trace dans une table d’événements, un type spécial de table avec un ensemble prédéfini de colonnes.

  2. Commencez à émettre des données de journal ou de trace à partir du code du gestionnaire.

    Une fois que vous avez créé une table d’événements et que vous l’avez associée à votre compte, vous utilisez une API dans le langage de votre gestionnaire pour émettre des messages de journal à partir du code du gestionnaire. Une fois que vous avez capturé les données de journal et de trace, vous pouvez les interroger pour analyser les résultats.

    Pour plus d’informations, reportez-vous à :

  3. Interrogez la table des événements pour analyser les données de journal et de trace collectées.

    Pour plus d’informations, reportez-vous à ce qui suit :

Comparer les messages du journal et les événements de trace

Le tableau suivant compare les caractéristiques et les avantages des messages de journal et des événements de trace.

Caractéristique

Entrées de journal

Événements de trace

Utilisation prévue

Enregistrez des informations détaillées mais non structurées sur l’état de votre code. Utilisez ces informations pour comprendre ce qui s’est passé lors d’une invocation particulière de votre fonction ou procédure.

Enregistrez un résumé bref mais structuré de chaque invocation de votre code. Agrégez ces informations pour comprendre le comportement de votre code à un niveau élevé.

Structure en tant que charge utile

NA. Une entrée de journal n’est qu’une chaîne de caractères.

Structurée avec des attributs que vous pouvez attacher aux événements de trace. Les attributs sont des paires clé-valeur qui peuvent être facilement interrogées à l’aide d’une requête SQL.

Prend en charge le regroupement

Non. Chaque entrée dans le journal est un événement indépendant.

Oui. Les événements de la trace sont organisés en spans. Un span peut avoir ses propres attributs.

Limites de quantité

Illimité. Toutes les entrées de journal émises par votre code sont intégrées dans la table des événements.

Le nombre d’événements de trace par span est plafonné à 128. Le nombre d’attributs de span est également limité.

Complexité des requêtes sur les données enregistrées

Relativement élevé. Vos requêtes doivent analyser chaque entrée de journal pour en extraire des informations significatives.

Relativement faible. Vos requêtes peuvent tirer parti de la nature structurée des événements de trace.