Spalten von Ereignistabellen

Eine Ereignistabelle ist eine spezielle Art von Datenbanktabelle mit einem vordefinierten Satz von Spalten. Die Struktur der Tabelle wurde entwickelt, um das Datenmodell für OpenTelemetry zu unterstützen, ein Rahmenwerk für den Umgang mit Telemetriedaten.

Weitere Informationen zur Arbeit mit Ereignistabellen finden Sie unter Verwenden von Ereignistabellen.

Spalten von Ereignistabellen

Ereignistabellen haben die folgenden Spalten:

Spalte

Datentyp

Beschreibung

TIMESTAMP

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.

START_TIMESTAMP

TIMESTAMP_NTZ

Bei Ereignissen, die eine Zeitspanne darstellen, wie z. B. Ablaufverfolgungsereignisse, wird der Beginn der Zeitspanne als UTC-Zeitstempel angegeben.

OBSERVED_TIMESTAMP

TIMESTAMP_NTZ

UTC-Zeit, die für Protokolle verwendet wird. Hat derzeit denselben Wert wie TIMESTAMP.

TRACE

OBJECT

Ablaufverfolgungskontext für alle Signaltypen. Enthält die Zeichenfolgenwerte trace_id und span_id.

RESOURCE

OBJECT

Reserviert für zukünftige Verwendung.

RESOURCE_ATTRIBUTES

OBJECT

Attribute, die die Quelle eines Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw.

SCOPE

OBJECT

Geltungsbereiche für Ereignisse. Beispiel: Klassennamen für Protokolle.

SCOPE_ATTRIBUTES

OBJECT

Reserviert für zukünftige Verwendung.

RECORD_TYPE

STRING

Der Ereignistyp. Eine der folgenden Optionen:

  • LOG für eine Protokollmeldung.

  • SPAN für benutzerdefinierte Funktionsaufrufe, die sequentiell in demselben Thread ausgeführt werden. Weitere Informationen dazu finden Sie unter Spalte RECORD_TYPE.

  • SPAN_EVENT für ein einzelnes Ablaufverfolgungsereignis. Eine einzelne Abfrage kann mehr als ein SPAN_EVENT ausgeben.

RECORD

OBJECT

Fester Werte für jeden Datensatztyp, wie unter Spalte RECORD beschrieben.

RECORD_ATTRIBUTES

OBJECT

Variable Attribute für jeden Datensatztyp, wie unter Spalte RECORD_ATTRIBUTES beschrieben.

VALUE

VARIANT

Primärer Ereigniswert.

EXEMPLARS

ARRAY

Reserviert für zukünftige Verwendung.

Erfasste Daten nach Ereignistyp

Daten zu Protokollereignissen

Attribut

Beschreibung

OBSERVED_TIMESTAMP

Hat derzeit denselben Wert wie TIMESTAMP.

RECORD

Schweregrad, der vom Protokollereignis erfasst wurde.

RECORD_ATTRIBUTES

Stelle im Code, an der das Protokollereignis ausgegeben wurde. Die Werte variieren je nach Sprache, können aber den Codedateipfad, den Funktionsnamen, die Zeilennummer usw. enthalten.

RECORD_TYPE

Der Ereignistyp: LOG für eine Protokollmeldung

RESOURCE_ATTRIBUTES

Attribute, die die Quelle des Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw.

SCOPE

Geltungsbereich, in dem das Ereignis aufgetreten ist, z. B. der Name der Klasse, in der das Protokollereignis erstellt wurde.

TIMESTAMP

Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde.

VALUE

Die Protokollmeldung.

Daten für Metriken

Bemerkung

Die Erfassung von Metrikdaten ist ein Feature zur Vorschau, das für alle Konten verfügbar ist.

Attribut

Beschreibung

RECORD

Für ein metrisches Ereignis, ein Objekt, das den Namen und die Einheit der Metrik enthält.

RECORD_TYPE

Der Ereignistyp: METRIC für einen metrischen Datenpunkt.

RESOURCE_ATTRIBUTES

Attribute, die die Quelle des Ereignisses identifizieren, z. B. Datenbank, Schema, Benutzer oder Warehouse.

START_TIMESTAMP

Wenn die Spalte RECORD metric_type den Wert sum hat, ist dies der Zeitpunkt, an dem die Metrik erfasst wurde. Nicht verwendet, wenn der Wert metric_type gauge ist.

TIMESTAMP

Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde.

VALUE

Der numerische Wert der Metrik.

Daten zu Ablaufverfolgungsereignissen

Attribut

Beschreibung

RECORD

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).

RECORD_ATTRIBUTES

Attributdaten im Zusammenhang mit einem Bereich (Span) oder einem Bereichsereignis.

RECORD_TYPE

Der Ereignistyp: SPAN für einen Bereich, SPAN_EVENT für ein Bereichsereignis.

RESOURCE_ATTRIBUTES

Attribute, die die Quelle des Ereignisses identifizieren, wie Datenbank, Schema, Benutzer, Warehouse usw.

START_TIMESTAMP

Bei einem Bereich (Span) der Zeitpunkt, an dem der Bereich (Span) begann. Wird nicht für ein Bereichsereignis verwendet.

TIMESTAMP

Zeitstempel für den Zeitpunkt, an dem das Ereignis erstellt wurde.

TRACE

Identifikatoren trace_id und span_id für einen Bereich (Span) und die darin aufgetretenen Ereignisse.

Spalte EXEMPLARS

Reserviert für zukünftige Verwendung.

Spalte OBSERVED_TIMESTAMP

Der UTC-Zeitstempel eines Protokollereignisses. Wird nicht für Ablaufverfolgungsereignisse verwendet.

Spalte RECORD

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

severity_text

STRING

Der Text für den Schweregrad des Protokolleintrags. Eine der folgenden Optionen:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

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 Code lautet der Wert beispielsweise FATAL.

Beispiel

{
  "severity_text": "INFO"
}
Copy

RECORD_TYPE: METRIC

Bemerkung

Die Erfassung von Metrikdaten ist ein Feature zur Vorschau, das für alle Konten verfügbar ist.

Metriken sind CPU und von Snowflake generierte Speicherdaten. Sie können diese Daten verwenden, um den Ressourcenverbrauch zu analysieren.

Die Handler-Sprache für die Ausführung und seine Umgebung beeinflussen die Bedeutung der Metrikdaten erheblich. Weitere Informationen dazu finden Sie unter Ausgabe von Metrikdaten aus dem Handler-Code.

Schlüssel

Typ

Beschreibung

metric.name

string

Der Name der Metrik, die von der Zeile erfasst wird. Eine der folgenden Optionen:

  • process.memory.usage: Die Menge des während der Ausführung verbrauchten Arbeitsspeichers in Bytes.

  • process.cpu.utilization: CPU-Nutzung Wird je nach Handler-Sprache unterschiedlich gemessen.

Weitere Informationen dazu finden Sie unter Ausgabe von Metrikdaten aus dem Handler-Code.

metric.unit

string

Die Einheiten der Metrik, zum Beispiel bytes.

metric_type

string

Der OpenTelemetry metrische Punkttyp der metrischen Daten; zum Beispiel sum oder gauge.

value_type

string

Der Datentyp des Wertes in der VALUE-Spalte, zum Beispiel DOUBLE oder INT.

Beispiel

{
  "metric": {
    "name": "process.memory.usage",
    "unit": "bytes"
  },
  "metric_type": "sum",
  "value_type": "INT"
}
Copy

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

dropped_attributes_count

int

Die Anzahl der Attribute, die ignoriert werden, nachdem das aufgezeichnete Maximum erreicht wurde.

name

string

Wenn der Handler der ausführbaren Datei in Python geschrieben ist, identifiziert dies den Handler für die Funktion oder Prozedur, die die Daten ausgegeben hat. Dies variiert je nach Typ der ausführbaren Datei wie folgt:

  • Prozedur: Name der Handler-Funktion

  • Benutzerdefinierte Funktion (UDF): Name der Handler-Funktion

  • Benutzerdefinierte Tabellenfunktion (UDTF): Name der Handler-Klasse

  • Client-Code: Name des clientseitigen API, mit dem die Bereich (Span) begann.

Wenn der Handler der ausführbaren Datei in einer anderen Sprache als Python geschrieben ist, ist dies ein fester Wert wie snow.auto_instrumented.

kind

string

Fester Wert SPAN_KIND_INTERNAL

parent_span_id

Hex string

Bezeichnet den Bereich (Span) der Prozedur oder UDF, aus der die aktuelle Ablaufverfolgung stammt. Wenn dieser Wert vorhanden ist, bedeutet dies, dass die aktuelle Prozedur oder UDF von einer anderen Prozedur in einer Aufrufkettenbeziehung aufgerufen wurde. Der Wert dieser übergeordneten span_id-Prozedur ist derselbe wie dieser parent_span_id.

snow.process.memory.usage.max

string

Optional. Gibt, wenn vorhanden, die maximale Menge an Arbeitsspeicher in Bytes an, die während der Ausführung dieses Bereichs (Span) verwendet wird.

status

string

STATUS_CODE_ERROR, wenn der Bereich (Span) einer unbehandelten Ausnahme entspricht. Ansonsten STATUS_CODE_UNSET.

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

name

string

Der Name des Bereichsereignisses.

Spalte RECORD_ATTRIBUTES

Beschreibt das Ereignis mit Metadaten, die von Snowflake oder durch 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.

Zusätzlich zu den unten aufgelisteten Attributen können Sie Ihre eigenen Attribute hinzufügen, die in den RECORD_ATTRIBUTES-Wert aufgenommen werden.

Attribut

Typ

Beschreibung

code.filepath

int

Die Datei mit dem Code, der die Meldung erzeugt hat.

code.function

string

Name der Funktion, die die Meldung generiert hat.

code.lineno

int

Zeilennummer im Code, die die Meldung generiert hat.

code.namespace

int

Namespace des Codes, der die Meldungen generiert hat.

exception.message

string

Die Fehlermeldung einer unbehandelten Ausnahme.

exception.type

string

Der Name der Klasse einer unbehandelten Ausnahme.

exception.stacktrace

string

Die Stapelüberwachung einer unbehandelten Ausnahme, formatiert durch die Laufzeitumgebung der Handler-Sprache.

exception.escaped

boolean

true, wenn dieser Eintrag von einer unbehandelten Ausnahme stammt.

thread.id

int

Thread, in dem das Protokollereignis erstellt wurde.

thread.name

string

Thread, in dem das Protokollereignis erstellt wurde.

Beispiel

Im folgenden Beispiel wurden alle Attribute von Snowflake hinzugefügt, mit Ausnahme von employee.id, das durch ein benutzerdefiniertes Attribut hinzugefügt wurde.

{
  "code.filepath": "main.scala",
  "code.function": "$anonfun$new$10",
  "code.lineno": 149,
  "code.namespace": "main.main$",
  "thread.id": 1,
  "thread.name": "main"
  "employee.id": "52307953446424"
}
Copy

RECORD_TYPE: SPAN

Attribute, falls vorhanden, die dem Bereich (Span) bei der Erfassung zugewiesen wurden. Attributnamen und -werte werden durch Code oder von Snowflake festgelegt.

Die folgende Tabelle enthält die Attribute, die von Snowflake festgelegt werden können.

Attribut

Typ

Beschreibung

snow.input.rows

int

Die Anzahl der Eingabezeilen, die durch den Bereich (Span) der Funktion verarbeitet werden.

snow.output.rows

int

Die Anzahl der vom Bereich (Span) der Funktion erfolgreich verarbeiteten Ausgabezeilen.

Beispiel

Der Code im folgenden Beispiel enthält von Snowflake festgelegte Attribute.

{
  "snow.input.rows": 12
  "snow.output.rows": 12
}
Copy

Beispiel

Der Code im folgenden Beispiel enthält Attribute, die durch Handler-Code festgelegt werden.

{
  "MyFunctionVersion": "1.1.0"
}
Copy

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"
}
Copy

Spalte RECORD_TYPE

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

LOG

Die Zeile repräsentiert einen Protokolleintrag, der vom Handler-Code generiert wurde.

SPAN

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.

SPAN_EVENT

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.

METRIC [1]

Die Zeile stellt eine Beobachtung einer Metrik dar. Mehrere Beobachtungen mehrerer Metriken können mit einem Bereich (Span) verknüpft werden.

Spalte RESOURCE

Reserviert für zukünftige Verwendung.

Spalte RESOURCE_ATTRIBUTES

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

snow.database.id

int

Der interne/systemgenerierte Bezeichner der Datenbank, die die ausführbare Datei enthält.

12345

snow.database.name

string

Der Name der Datenbank, die die ausführbare Datei enthält.

MY_DATABASE

snow.executable.id

int

Der interne/systemgenerierte Bezeichner der ausführbaren Datei (Prozedur, Funktion, SnowService usw.), die das Ereignis generiert.

12345

snow.executable.name

string

Der Name der ausführbaren Datei (Prozedur, Funktion usw.), die das Ereignis generiert. Dies kann zum Beispiel der Name der Prozedur, Funktion oder Streamlit-App sein.

MY_UDF

snow.executable.runtime.version

string

Die Laufzeitversion der ausführbaren Sprache. Dabei handelt es sich um einen für die Sprache spezifischen Wert, wie unten beschrieben:

  • Java: 11 oder 17

  • JavaScript: Kein Wert

  • Python: Von 3.9 bis 3.12

  • Scala: 2.12

  • SQL: Kein Wert

procedure

snow.executable.type

string

Eine der folgenden Optionen:

  • procedure für eine gespeicherte Prozedur

  • function für eine benutzerdefinierte Funktion

  • sql für ein Ereignis aus einer einzelnen Abfrage, z. B. einem Snowflake Scripting-Block.

  • SnowparkContainers für einen Snowpark Container Services-Dienst.

  • streamlit für eine Streamlit-App

procedure

snow.owner.id

int

Der interne/systemgenerierte Bezeichner der Rolle mit der Berechtigung OWNERSHIP für die ausführbare Datei.

1234

snow.owner.name

string

Der Name der Rolle mit der Berechtigung OWNERSHIP für die ausführbare Datei.

UDF_OWNER_RL

snow.schema.id

int

Der interne/systemgenerierte Bezeichner des Schemas, das die ausführbare Datei enthält.

12345

snow.schema.name

string

Der Name des Schemas, das die ausführbare Datei enthält.

MY_SCHEMA

telemetry.sdk.language

string

Die Sprache der Ressource/des SDK. Snowflake verwendet „java“, „scala“, „python“, „javascript“ und „sql“.

java

Ressourcenattribute für die Ausführungsumgebung

Attribut

Typ

Beschreibung

Beispiele

db.user

string

Bei einer Funktion oder Prozedur der Name des Benutzers, der die Funktion oder Prozedur ausführt. Bei einer Streamlit-App der Name des Benutzers, der die App für ein bestimmtes Ereignis angezeigt hat.

MY_USER_NAME

snow.query.id

string

Die ID der Abfrage.

01a6aeb7-0604-c466-0000-097127d13812

snow.release.version

string

Das Snowflake-Release, das beim Generieren des Ereignisses ausgeführt wurde.

7.9.0

snow.session.id

int

Die ID der Sitzung, in der die ausführbare Datei ausgeführt wird.

10

snow.session.role.primary.id

int

Der interne/systemgenerierte Bezeichner der Primärrolle in der Sitzung.

10

snow.session.role.primary.name

string

Der Name der Primärrolle in der Sitzung.

MY_ROLE

snow.user.id

int

Der interne/systemgenerierte Bezeichner des Benutzers, das die Abfrage ausführt.

1234

snow.warehouse.id

int

Der interne/systemgenerierte Bezeichner des Warehouses, das die Abfrage ausführt, die das Ereignis generiert hat.

12345

snow.warehouse.name

string

Der Name des Warehouses, das die Abfrage ausführt, die das Ereignis generiert hat.

MY_WAREHOUSE

Ressourcen-Attribute für Anwendungen

Attribut

Typ

Beschreibung

Beispiele

snow.application.consumer.name

string

Bei einer Snowflake Native App der Name des Kontos des Verbrauchers.

CONSUMER_NAME

snow.application.consumer.organization

string

Bei einer Snowflake Native App der Name der Organisation des Verbrauchers.

CONSUMER_ORG_NAME

snow.application.id

string

Bei einer Snowflake Native App der interne/vom System generierte Bezeichner der App.

ABCZN3J3

snow.application.name

string

Bei einer Snowflake Native App der Name der App.

MY_INSTALLED_APP_NAME

snow.application.package.name

string

Bei einer Snowflake Native App der Name des Anwendungspakets.

MY_INSTALLED_PACKAGE_NAME

snow.listing.global_name

string

Bei einer Snowflake Native App der interne/vom System generierte Bezeichner des Freigabeangebots.

GZYZN3J3

snow.listing.name

string

Bei einer Snowflake Native App der Name des Freigabeangebots.

MY_LISTING_NAME

Ressourcenattribute für Snowflake-Version

Attribut

Typ

Beschreibung

Beispiele

service.version

string

Version der ausführbaren Datei, sofern relevant. Kombination aus snow.version und snow.patch, die durch einen Punkt verknüpft sind, sofern vorhanden. Standard-OpenTelemetry-Attribut.

2.3.1

snow.patch

string

Patch-Level (Revisionsnummer) der aktiven ausführbaren Datei.

1

snow.version

string

Version der aktiven ausführbaren Datei.

2.3

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"
}
Copy

Spalte SCOPE

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

name

String

Namespace des Codes, der das Ereignis ausgibt.

com.sample.MyClass

Beispiel

{
  "name": "com.sample.MyClass"
}
Copy

Spalte SCOPE_ATTRIBUTES

Reserviert für zukünftige Verwendung.

Spalte START_TIMESTAMP

Zeitpunkt des Beginns eines Bereichs (Span) als UTC-Zeitstempel.

RECORD_TYPE-Spaltenwert

START_TIMESTAMP-Wertbeschreibung

LOG

Nicht verwendet.

SPAN

Zeitpunkt, an dem der Bereich (Span) gestartet ist.

SPAN_EVENT

Nicht verwendet.

METRIC [2]

Wenn die Spalte RECORD metric_type den Wert sum hat, ist dies der Zeitpunkt, an dem die Metrik erfasst wurde. Nicht verwendet, wenn der Wert metric_type gauge ist.

Spalte TIMESTAMP

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

LOG

Die Echtzeit (wall-clock time), zu der das Ereignis ausgegeben wurde.

SPAN

Zeitpunkt, zu dem die Ausführung abgeschlossen wurde.

SPAN_EVENT

Die Echtzeit (wall-clock time), zu der das Ereignis ausgegeben wurde.

Spalte TRACE

Eindeutige Bezeichner für die Ausführung von Funktionen und Prozeduren.

RECORD_TYPE-Spaltenwert

TRACE-Wertbeschreibung

LOG

Nicht verwendet.

SPAN

trace_id und span_id

SPAN_EVENT

trace_id und span_id

Ablaufverfolgungswert

In der folgenden Tabelle sind die Attribute aufgeführt, die in diese Spalte aufgenommen werden können.

Attribut

Typ

Beschreibung

Beispiele

span_id

Hex string

Ein eindeutiger Bezeichner für das Threading-Modell. Prozeduren, die in einem einzigen Thread ablaufen, haben einen einzigen span_id-Wert. Funktionen, die von Snowflake auf mehreren Threads ausgeführt werden können (z. B. für mehrere Zeilen), können mehrere span_id-Werte haben.

Wenn der aktuelle Bereich (Span) von einer Prozedur stammt, die eine andere Prozedur oder UDF in der Ablaufverfolgung aufgerufen hat, ist dieser span_id-Wert derselbe wie der Wert der Spalte RECORD parent_span_id des Bereichs (Spans) für die Prozedur oder UDF, die sie aufgerufen hat.

b4c28078330873a2

trace_id

Hex string

Ein eindeutiger Bezeichner für Anrufe, die aus einer Abfrage heraus erfolgen. Wenn eine gespeicherte Prozedur nicht in einer Kette von Aufrufen aufgerufen wird, hat jeder Aufruf seinen eigenen trace_id-Wert. Innerhalb einer Abfrage haben alle Funktionen, die aus der Abfrage heraus aufgerufen werden, denselben trace_id-Wert.

Wenn eine Prozedur von einer anderen Prozedur oder UDF in einer Aufrufkette aufgerufen wird, hat sie denselben trace_id-Wert wie andere Prozeduren und UDFs in der Kette.

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.

6992e9febf0b97f45b34a62e54936adb

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"
}
Copy

Spalte VALUE

  • 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.

  • Bei Metriken ist dies der numerische Wert der Metrik. [3]

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.