Spalten von Ereignistabellen¶
Eine Ereignistabelle hat einen vordefinierten Satz von Spalten. Unter diesem Thema werden die Spalten genauer erläutert.
Weitere Informationen zur Verwendung von Ereignistabellen finden Sie unter Verwenden von Ereignistabellen.
Spalten von Ereignistabellen¶
Ereignistabellen haben die folgenden Spalten:
Spalte |
Datentyp |
Beschreibung |
---|---|---|
TIMESTAMP_NTZ |
UTC-Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde. Bei Ereignissen, die eine Zeitspanne darstellen, ist dies das Ende der Zeitspanne. |
|
TIMESTAMP_NTZ |
Bei Ereignissen, die eine Zeitspanne darstellen, wie z. B. Ablaufverfolgungsereignisse, wird der Beginn der Zeitspanne als UTC-Zeitstempel angegeben. |
|
TIMESTAMP_NTZ |
UTC-Zeit, die für Protokolle verwendet wird. Hat derzeit denselben Wert wie TIMESTAMP. |
|
OBJECT |
Ablaufverfolgungskontext für alle Signaltypen. Enthält die Zeichenfolgenwerte |
|
OBJECT |
Reserviert für zukünftige Verwendung. |
|
OBJECT |
Attribute, die die Quelle eines Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw. |
|
OBJECT |
Geltungsbereiche für Ereignisse. Beispiel: Klassennamen für Protokolle. |
|
OBJECT |
Reserviert für zukünftige Verwendung. |
|
STRING |
Der Ereignistyp. Eine der folgenden Optionen:
|
|
OBJECT |
Fester Werte für jeden Datensatztyp, wie unter RECORD-Spalte beschrieben. |
|
OBJECT |
Variable Attribute für jeden Datensatztyp, wie unter RECORD_ATTRIBUTES-Spalte beschrieben. |
|
VARIANT |
Primärer Ereigniswert. |
|
ARRAY |
Reserviert für zukünftige Verwendung. |
Erfasste Daten nach Ereignistyp¶
Daten zu Protokollereignissen¶
Attribut |
Beschreibung |
---|---|
Hat derzeit denselben Wert wie TIMESTAMP. |
|
Schweregrad, der vom Protokollereignis erfasst wurde. |
|
Stelle im Code, an der das Protokollereignis ausgegeben wurde. Die Werte variieren je nach Handler-Sprache, können aber den Codedateipfad, den Funktionsnamen, die Zeilennummer usw. enthalten. |
|
Der Ereignistyp: |
|
Attribute, die die Quelle des Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw. |
|
Geltungsbereich, in dem das Ereignis aufgetreten ist, z. B. der Name der Klasse, in der das Protokollereignis erstellt wurde. |
|
Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde. |
|
Die Protokollmeldung. |
Daten zu Ablaufverfolgungsereignissen¶
Attribut |
Beschreibung |
---|---|
Bei einem Bereich (Span) ein Objekt, das den Namen und die Art des Bereichs enthält. Bei einem Bereichsereignis enthält das Objekt den Namen des Bereichs (Span). |
|
Attributdaten im Zusammenhang mit einem Bereich (Span) oder einem Bereichsereignis. |
|
Der Ereignistyp: |
|
Attribute, die die Quelle des Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw. |
|
Bei einem Bereich (Span) der Zeitpunkt, an dem der Bereich (Span) begann. Wird nicht für ein Bereichsereignis verwendet. |
|
Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde. |
|
Identifikatoren |
EXEMPLARS-Spalte¶
Reserviert für zukünftige Verwendung.
OBSERVED_TIMESTAMP-Spalte¶
Der UTC-Zeitstempel eines Protokollereignisses. Wird nicht für Ablaufverfolgungsereignisse verwendet.
RECORD-Spalte¶
Liefert Kerninformationen zu dem Ereignis, wie Protokolliergrad eines Protokollereignisses oder Name des Ablaufverfolgungsereignisses (Datensatz zu Bereich oder Bereichsereignis).
Die Attribute des Datensatzes werden, falls vorhanden, in der Spalte RECORD_ATTRIBUTES gespeichert.
Die in dieser Spalte enthaltenen Werte hängen vom Wert in der Spalte RECORD_TYPE (LOG
, SPAN
oder SPAN_EVENT
) ab, wie in den folgenden Abschnitten beschrieben.
RECORD_TYPE: LOG
¶
Wenn die Spalte RECORD_TYPE den Wert LOG
hat, ist der Wert der Spalte RECORD der Schweregrad der Protokollmeldung. Der Spaltenwert kann die folgenden Schlüssel enthalten:
Schlüssel |
Typ |
Beschreibung |
---|---|---|
|
STRING |
Der Text für den Schweregrad des Protokolleintrags. Eine der folgenden Optionen:
Handelt es sich bei dem Protokolleintrag um eine unbehandelte Ausnahme, ist dieser Wert der höchste Schweregrad für die aktuelle Laufzeitumgebung der Handler-Sprache. Bei einem in Python geschriebenen Handler lautet der Wert beispielsweise |
Beispiel¶
{
"severity_text": "INFO"
}
RECORD_TYPE: SPAN
¶
Bereiche (Spans) repräsentieren einzelne Ausführungen von Funktionen und Prozeduren dar. Bei gespeicherten Prozeduren gibt es nur einen einzigen Bereich (Span). Bei benutzerdefinierten Funktionen kann es für einen einzelnen Funktionsaufruf mehrere Bereiche (Spans) geben, je nachdem, wie Snowflake die Ausführung plant.
Alle Bereiche (Spans) einer bestimmten Abfrage haben denselben Wert für den trace_id
-Schlüssel der Spalte TRACE
.
Die Dauer eines Bereichs (Span) ist die Differenz zwischen den Werten in den Spalten start_timestamp
und timestamp
, die den Zeitpunkt des Beginns bzw. des Endes der Ausführung des Bereichs (Span) angeben.
Die ID des Bereichs (Span) und der Abfrageablaufverfolgung werden vom Wert in der Spalte TRACE repräsentiert.
Snowflake erstellt für jede Ausführung einen Bereich (Span) mit den folgenden Schlüsseln:
Schlüssel |
Typ |
Beschreibung |
---|---|---|
|
int |
Die Anzahl der Attribute, die ignoriert werden, nachdem das aufgezeichnete Maximum erreicht wurde. |
|
string |
Fester Wert. |
|
string |
Fester Wert |
|
string |
|
Bei benutzerdefinierten Funktionen kann Snowflake Attribute für Bereiche (Spans) hinzufügen, um die Anzahl der von der Funktion verarbeiteten und ausgegebenen Zeilen anzugeben.
RECORD_TYPE: SPAN_EVENT
¶
Bereichsereignisse sind Ereignisdatensätze, die mit einer bestimmten, oben beschriebenen Ausführung eines Bereichs (Span) verbunden sind. Sie können Ereignisse erstellen, die den Anforderungen Ihrer Anwendung entsprechen. Die Anzahl der Bereichsereignisse ist auf 128 begrenzt.
Der Wert der Spalte TRACE bezeichnet den Bereich (Span), in dem das Ereignis erstellt wurde.
Bereichsereignisse haben einen einzigen Schlüssel name
und können in der Spalte RECORD_ATTRIBUTES beliebige Attribute enthalten.
Schlüssel |
Typ |
Beschreibung |
---|---|---|
|
string |
Der Name des Bereichsereignisses. |
RECORD_ATTRIBUTES-Spalte¶
Beschreibt das Ereignis mit Metadaten, die von Snowflake oder vom Handler-Code festgelegt werden. Der Wert hängt vom Typ des Datensatzes ab, den die Zeile enthält, wie in den folgenden Abschnitten beschrieben.
RECORD_TYPE: LOG
¶
Die Stelle im Code, an der das Protokollereignis ausgegeben wurde, einschließlich Codedateipfad, Funktionsnamen, Zeilennummer usw.
Attribut |
Typ |
Beschreibung |
---|---|---|
|
int |
Die Datei mit dem Code, der die Meldung erzeugt hat. |
|
string |
Name der Funktion, die die Meldung generiert hat. |
|
int |
Zeilennummer im Code, die die Meldung generiert hat. |
|
int |
Namespace des Codes, der die Meldungen generiert hat. |
|
string |
Die Fehlermeldung einer unbehandelten Ausnahme. |
|
string |
Der Name der Klasse einer unbehandelten Ausnahme. |
|
string |
Die Stapelüberwachung einer unbehandelten Ausnahme, formatiert durch die Laufzeitumgebung der Handler-Sprache. |
|
boolean |
|
|
int |
Thread, in dem das Protokollereignis erstellt wurde. |
|
string |
Thread, in dem das Protokollereignis erstellt wurde. |
Beispiel¶
{
"code.filepath": "main.scala",
"code.function": "$anonfun$new$10",
"code.lineno": 149,
"code.namespace": "main.main$",
"thread.id": 1,
"thread.name": "main"
}
RECORD_TYPE: SPAN
¶
Attribute, falls vorhanden, die dem Bereich (Span) bei der Erfassung zugewiesen wurden. Attributnamen und -werte werden durch Handler-Code oder durch Snowflake festgelegt.
Die folgende Tabelle enthält die Attribute, die von Snowflake festgelegt werden können.
Attribut |
Typ |
Beschreibung |
---|---|---|
|
int |
Anzahl der Zeilen, die von dem Bereich (Span) der Funktion verarbeitet werden. |
Beispiel¶
Der Code im folgenden Beispiel enthält von Snowflake festgelegte Attribute.
{
"snow.rows.processed": 12
}
Beispiel¶
Der Code im folgenden Beispiel enthält Attribute, die durch Handler-Code festgelegt werden.
{
"MyFunctionVersion": "1.1.0"
}
RECORD_TYPE: SPAN_EVENT
¶
Attribute, die dem Bereichsereignis bei der Erfassung zugewiesen werden. Attributnamen und -werte können von Snowflake oder durch Benutzercode festgelegt werden.
Beispiel¶
Der Code im folgenden Beispiel enthält Attribute, die durch Handler-Code festgelegt werden.
{
"mykey1": "value1",
"mykey2": "value2"
}
RECORD_TYPE-Spalte¶
Gibt den Typ des Datensatzes an, der in der Ereignistabellenzeile beschrieben wird. Der Wert in dieser Spalte gibt an, für welche der drei Typen von Datensätzen die Ereignistabelle Daten enthalten kann.
Die Spalte RECORD enthält die Daten dieses Datensatzes. Die Spalte RECORD_ATTRIBUTES enthält die Metadaten dieses Datensatzes, falls vorhanden.
In der folgenden Tabelle sind die möglichen Werte für diese Spalte aufgeführt.
Spaltenwert |
Beschreibung |
---|---|
|
Die Zeile repräsentiert einen Protokolleintrag, der vom Handler-Code generiert wurde. |
|
Die Zeile repräsentiert einen Bereich (Span). Bei einer gespeicherten Prozedur gibt es nur einen einzigen Bereich (Span). Bei einer benutzerdefinierten Funktion, die parallelisiert werden kann, gibt es einen Bereich (Span) für jeden Thread, in dem die Funktion ausgeführt wird. Die Anzahl der Threads hängt von mehreren Faktoren ab, unter anderem von der Größe des Snowflake-Warehouses, in dem die Funktion ausgeführt wird. Ein Bereich (Span) kann mehrere Bereichsereignisse enthalten. Weitere Informationen dazu finden Sie unter Erfasste Bereichsdaten. |
|
Die Zeile repräsentiert ein Bereichsereignis. Einem bestimmten Bereich (Span) können mehrere Bereichsereignisdatensätze zugeordnet sein. Ihr Handler-Code kann Ereignisse erzeugen, die Ihren Anforderungen entsprechen. Die Anzahl der Bereichsereignisse ist auf 128 begrenzt. |
RESOURCE-Spalte¶
Reserviert für zukünftige Verwendung.
RESOURCE_ATTRIBUTES-Spalte¶
Beschreibt die Quelle eines Ereignisses in Form von Snowflake-Objekten.
Die Attribute, die den Wert in dieser Spalte bestimmen, werden von Snowflake festgelegt und können nicht geändert werden.
Ressourcenattribute für Ereignisquelle¶
Attributname |
Attributtyp |
Beschreibung |
Beispiel |
---|---|---|---|
|
int |
Der interne/systemgenerierte Bezeichner der Datenbank, die die ausführbare Datei enthält. |
|
|
string |
Der Name der Datenbank, die die ausführbare Datei enthält. |
|
|
int |
Der interne/systemgenerierte Bezeichner der ausführbaren Datei (Prozedur, Funktion, SnowService usw.), die das Ereignis generiert. |
|
|
string |
Der Name der ausführbaren Datei (Prozedur, Funktion usw.), die das Ereignis generiert. |
|
|
string |
Eine der folgenden Optionen:
|
|
|
int |
Der interne/systemgenerierte Bezeichner der OWNERSHIP-Rolle der ausführbaren Datei. |
|
|
string |
Der Name der OWNERSHIP-Rolle der ausführbaren Datei. |
|
|
int |
Der interne/systemgenerierte Bezeichner des Schemas, das die ausführbare Datei enthält. |
|
|
string |
Der Name des Schemas, das die ausführbare Datei enthält. |
|
|
string |
Die Sprache der Ressource/des SDK. Snowflake verwendet „java“, „scala“, „python“, „javascript“ und „sql“. |
|
Ressourcenattribute für die Ausführungsumgebung¶
Attribut |
Typ |
Beschreibung |
Beispiele |
---|---|---|---|
|
string |
Der Name des Benutzers, der die Funktion ausführt. |
|
|
string |
Die ID der Abfrage. |
|
|
string |
Das Snowflake-Release, das beim Generieren des Ereignisses ausgeführt wurde. |
|
|
int |
Die ID der Sitzung, in der die ausführbare Datei ausgeführt wird. |
|
|
int |
Der interne/systemgenerierte Bezeichner der Primärrolle in der Sitzung. |
|
|
string |
Der Name der Primärrolle in der Sitzung. |
|
|
int |
Der interne/systemgenerierte Bezeichner des Benutzers, das die Abfrage ausführt. |
|
|
int |
Der interne/systemgenerierte Bezeichner des Warehouses, das die Abfrage ausführt, die das Ereignis generiert hat. |
|
|
string |
Der Name des Warehouses, das die Abfrage ausführt, die das Ereignis generiert hat. |
|
Ressourcenattribute für Anwendungen¶
Attribut |
Typ |
Beschreibung |
Beispiele |
---|---|---|---|
|
string |
Bei nativen Anwendungen der Name des Kontos des Verbrauchers. |
|
|
string |
Bei nativen Anwendungen der Name der Organisation des Verbrauchers. |
|
|
string |
Bei nativen Anwendungen der Name des Anwendungspakets. |
|
|
string |
Bei nativen Anwendungen der interne/systemgenerierte Bezeichner des Freigabeangebots. |
|
|
string |
Bei nativen Anwendungen der Name des Freigabeangebots. |
|
Ressourcenattribute für Snowflake-Version¶
Attribut |
Typ |
Beschreibung |
Beispiele |
---|---|---|---|
|
string |
Version der ausführbaren Datei, sofern relevant. Kombination aus |
|
|
string |
Patch-Level (Revisionsnummer) der aktiven ausführbaren Datei. |
|
|
string |
Version der aktiven ausführbaren Datei. |
|
Beispiel¶
{
"db.user": "MYUSERNAME",
"snow.database.id": 13,
"snow.database.name": "MY_DB",
"snow.executable.id": 197,
"snow.executable.name": "FUNCTION_NAME(I NUMBER):ARG_NAME(38,0)",
"snow.executable.type": "FUNCTION",
"snow.owner.id": 2,
"snow.owner.name": "MY_ROLE",
"snow.query.id": "01ab0f07-0000-15c8-0000-0129000592c2",
"snow.schema.id": 16,
"snow.schema.name": "PUBLIC",
"snow.session.id": 1275605667850,
"snow.session.role.primary.id": 2,
"snow.session.role.primary.name": "MY_ROLE",
"snow.user.id": 25,
"snow.warehouse.id": 5,
"snow.warehouse.name": "MYWH",
"telemetry.sdk.language": "python"
}
SCOPE-Spalte¶
Bei Protokollereignissen der Namespace des Codes, der das Ereignis ausgegeben hat, z. B. der Name der Klasse, die einen Protokolleintrag erstellt. Dies wird nicht für Ablaufverfolgungsereignisse verwendet.
In der folgenden Tabelle sind die Attribute aufgeführt, die in diese Spalte aufgenommen werden können.
Geltungsbereichswert¶
Attribut |
Typ |
Beschreibung |
Beispiele |
---|---|---|---|
|
String |
Namespace des Codes, der das Ereignis ausgibt. |
|
Beispiel¶
{
"name": "com.sample.MyClass"
}
SCOPE_ATTRIBUTES-Spalte¶
Reserviert für zukünftige Verwendung.
START_TIMESTAMP-Spalte¶
Zeitpunkt des Beginns eines Bereichs (Span) als UTC-Zeitstempel.
RECORD_TYPE-Spaltenwert |
START_TIMESTAMP-Wertbeschreibung |
---|---|
|
Nicht verwendet. |
|
Zeitpunkt, an dem der Bereich (Span) gestartet ist. |
|
Nicht verwendet. |
TIMESTAMP-Spalte¶
Zeitpunkt, zu dem ein Ereignis ausgegeben wurde. Die Bedeutung des Wertes hängt vom Typ des Datensatzes ab, den die Zeile repräsentiert, wie in der folgenden Tabelle aufgeführt:
RECORD_TYPE-Spaltenwert |
TIMESTAMP-Wertbeschreibung |
---|---|
|
Die Echtzeit (wall-clock time), zu der das Ereignis ausgegeben wurde. |
|
Zeitpunkt, zu dem die Ausführung abgeschlossen wurde. |
|
Die Echtzeit (wall-clock time), zu der das Ereignis ausgegeben wurde. |
TRACE-Spalte¶
Eindeutige Bezeichner für die Ausführung von Funktionen und Prozeduren.
RECORD_TYPE-Spaltenwert |
TRACE-Wertbeschreibung |
---|---|
|
Nicht verwendet. |
|
|
|
|
Ablaufverfolgungswert¶
In der folgenden Tabelle sind die Attribute aufgeführt, die in diese Spalte aufgenommen werden können.
Attribut |
Typ |
Beschreibung |
Beispiele |
---|---|---|---|
|
Hex string |
Ein eindeutiger Bezeichner, der an das Threading-Modell gebunden ist. Prozeduren, die immer nur einen Thread haben, haben auch nur einen einzigen |
|
|
Hex string |
Ein eindeutiger Bezeichner für Anrufe, die aus einer Abfrage heraus erfolgen. Jeder Aufruf einer gespeicherten Prozedur hat seinen eigenen Dieser Wert ist für jede Abfrage eindeutig und ist für alle Bereiche (Spans) innerhalb einer Abfrage gleich. Sie können dies für das Gruppieren von Ereignissen innerhalb einer einzelnen Abfrageausführung verwenden. |
|
Beispiel¶
Der Code im folgenden Beispiel zeigt die Attribute, die für einen Bereich (Span) oder für ein Bereichsereignis vorhanden sein müssen.
{
"span_id": "b4c28078330873a2",
"trace_id": "6992e9febf0b97f45b34a62e54936adb"
}
VALUE-Spalte¶
Bei Protokollereignissen ist dies normalerweise die Protokollmeldung. Wenn es sich bei dem protokollierten Ereignis um eine unbehandelte Ausnahme handelt, ist der Wert in dieser Spalte einfach exception
.
Beachten Sie, dass die Spalte VALUE vom Typ VARIANT (nicht STRING) ist, sodass hier bei einigen Sprachen, wie JavaScript, auch Werte vorliegen können, die keine Zeichenfolgenwerte sind.