Protokollierung, Ablaufverfolgung und Metriken

Sie können die Aktivität des Handler-Codes Ihrer Snowflake-Funktion oder -Prozedur (einschließlich des Codes, den Sie unter Verwendung der Snowpark-APIs schreiben) aufzeichnen, indem Sie Protokollmeldungen und Ablaufverfolgungsereignisse des Codes während der Ausführung erfassen. Die gesammelten Daten können Sie dann mit SQL abfragen, um die Ergebnisse zu analysieren.

Protokollierung, Ablaufverfolgung und Metriken sind nur einige der Features, die Snowflake zur Verfügung stellt, um Ihnen das Debuggen und Optimieren von Anwendungen zu erleichtern. Snowflake erfasst Beobachtbarkeitsdaten in einer Struktur, die auf dem OpenTelemetry-Standard basiert.

Sie können insbesondere Folgendes erfassen und auswerten:

  • Protokollmeldungen — Unabhängige, detaillierte Meldungen mit Informationen über den Status eines bestimmten Teils Ihres Codes.

  • Metrikdaten — CPU und Speichermetriken, die Snowflake generiert.

  • Ablaufverfolgungsereignisse — Strukturierte Daten, die Sie verwenden können, um Informationen zu erhalten, die mehrere Teile Ihres Codes umfassen und gruppieren.

Erste Schritte

Führen Sie die folgenden Schritte aus, um mit dem Erfassen und Verwenden von Protokoll- und Ablaufverfolgungsdaten zu beginnen.

  1. Stellen Sie sicher, dass Sie über eine aktive Ereignistabelle verfügen. Führen Sie eine der folgenden Aktionen aus:

    Snowflake sammelt Telemetriedaten aus Ihrem Code in der Ereignistabelle.

  2. Stellen Sie die Telemetriegrade so ein, dass Daten gesammelt werden.

    Mit Graden können Sie festlegen, welche Daten - und wie viele Daten - gesammelt werden. Vergewissern Sie sich, dass die Grade richtig eingestellt sind.

  3. Ausgabe der Protokoll- oder Ablaufverfolgungsdaten aus dem Handler-Code starten.

    Sobald Sie eine Ereignistabelle erstellt und mit Ihrem Konto verknüpft haben, können Sie eine API in der Sprache Ihres Handlers verwenden, um Protokollmeldungen zu senden. Nachdem Sie die Protokoll- und Ablaufverfolgungsdaten erfasst haben, können Sie die Daten abfragen, um die Ergebnisse zu analysieren.

    Weitere Informationen zur Instrumentierung Ihres Codes finden Sie im Folgenden:

  4. Ereignistabelle zur Analyse der gesammelten Protokoll- und Ablaufverfolgungsdaten abfragen.

    Weitere Informationen dazu finden Sie unter:

Telemetriegrade einstellen

Sie können den Umfang der in der Ereignistabelle gespeicherten Telemetriedaten — wie Protokoll-, Ablaufverfolgungs- und Metrikdaten — verwalten, indem Sie den Grad für jeden Datentyp einstellen. Verwenden Sie die Einstellungen, um sicherzustellen, dass Sie die gewünschte Menge und Art von Daten erfassen.

Weitere Informationen dazu finden Sie unter Einstellung der Grade für Protokollierung, Metriken und Ablaufverfolgung.

Vergleich von Protokollmeldungen und Ablaufverfolgungsereignissen

In der folgenden Tabelle werden die Eigenschaften und Vorteile von Protokollmeldungen und Ablaufverfolgungsereignissen verglichen.

Eigenschaft

Protokolleinträge

Ablaufverfolgungsereignisse

Verwendungszweck

Erfassen detaillierte, aber unstrukturierte Informationen zum Status des Codes. Verwenden Sie diese Informationen, um zu verstehen, was während eines bestimmten Aufrufs Ihrer Funktion oder Prozedur passiert ist.

Zeichnen eine kurze, aber strukturierte Zusammenfassung zu jedem Aufruf Ihres Codes auf. Fassen Sie diese Informationen zusammen, um das Verhalten Ihres Codes auf einer allgemeineren Ebene zu verstehen.

Struktur als Nutzdaten

Keine. Ein Protokolleintrag ist nur eine Zeichenfolge.

Strukturiert durch Attribute, die Sie an Ablaufverfolgungsereignisse anhängen können. Attribute sind Schlüssel-Wert-Paare, die sich einfach mit einer SQL-Abfrage abfragen lassen.

Unterstützt das Gruppieren

Nein. Jeder Protokolleintrag ist ein unabhängiges Ereignis.

Ja. Ablaufverfolgungsereignisse werden in Bereichen (Spans) organisiert. Ein Bereich (Span) kann seine eigenen Attribute haben.

Mengenbegrenzung

Unbegrenzt. Alle von Ihrem Code ausgegebenen Protokolleinträge werden in die Ereignistabelle aufgenommen.

Die Anzahl der Ablaufverfolgungsereignisse pro Bereich (Span) ist auf 128 begrenzt. Es gibt auch eine Begrenzung für die Anzahl der Span-Attribute.

Komplexität der Abfragen auf den erfassten Daten

Relativ hoch. Abfragen müssen jeden Protokolleintrag analysieren, um daraus sinnvolle Informationen extrahieren zu können.

Relativ niedrig. Abfragen können sich die strukturierte Form der Ablaufverfolgungsereignisse zunutze machen.