Journalisation, traçage et métriques¶
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.
La journalisation, le traçage et les métriques font partie des fonctionnalités d’observabilité fournies par Snowflake pour vous permettre de déboguer et d’optimiser plus facilement les applications. Snowflake capture les données d’observabilité dans une structure basée sur la norme OpenTelemetry.
Vous pouvez notamment enregistrer et analyser les éléments suivants :
Messages de journal — messages indépendants et détaillés contenant des informations sur l’état d’un élément spécifique de votre code.
Données métriques — métriques de CPU et de mémoire générées par Snowflake.
Événements de trace — 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.
Assurez-vous d’avoir une table d’événements active. Vous pouvez effectuer l’une des opérations suivantes :
Utilisez la table d’événements par défaut qui est active par défaut.
Snowflake collecte les données de télémétrie de votre code dans la table des événements.
Définissez les niveaux de télémétrie afin que les données soient collectées.
Grâce aux niveaux, vous pouvez spécifier quelles données – et quelle quantité – sont collectées. Assurez-vous que les niveaux sont correctement réglés.
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. 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 sur l’instrumentation de votre code, consultez les éléments suivants :
Interrogez la table des événements pour analyser les données de journal et de trace collectées.
Pour plus d’informations, voir ci-dessous :
Définir les niveaux de télémétrie¶
Vous pouvez gérer le niveau des données de télémétrie stockées dans la table d’événements (telles que les données de journal, de trace et de métriques) en définissant le niveau pour chaque type de données. Utilisez les paramètres de niveau pour vous assurer que vous capturez la quantité et le type de données souhaités.
Pour plus d’informations, voir Définition des niveaux de journalisation, des métriques et du traçage.
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. |