Colonnes de table d’événements

Une table d’événements comporte un ensemble prédéfini de colonnes. Cette rubrique décrit les colonnes.

Pour plus d’informations sur l’utilisation des tables d’événements, voir Utilisation des tables d’événements.

Colonnes de table d’événements

Les tables d’événements comportent les colonnes suivantes :

Colonne

Type de données

Description

TIMESTAMP

TIMESTAMP_NTZ

L’horodatage UTC de la création d’un événement. Pour les événements représentant une période de temps, il s’agit de la fin de la période de temps.

START_TIMESTAMP

TIMESTAMP_NTZ

Pour les événements représentant un intervalle de temps, tels que les événements de trace, le début de l’intervalle de temps sous la forme d’un horodatage UTC.

OBSERVED_TIMESTAMP

TIMESTAMP_NTZ

Un horaire UTC utilisé pour les journaux. Actuellement la même valeur que pour TIMESTAMP.

TRACE

OBJECT

Contexte de traçage pour tous les types de signaux. Contient les valeurs de chaîne trace_id et span_id.

RESOURCE

OBJECT

Réservé pour une utilisation future.

RESOURCE_ATTRIBUTES

OBJECT

Attributs qui identifient la source d’un événement, telle que la base de données, le schéma, l’utilisateur, l’entrepôt, etc.

SCOPE

OBJECT

Champs d’application pour les événements. Par exemple, les noms de classe pour les journaux.

SCOPE_ATTRIBUTES

OBJECT

Réservé pour une utilisation future.

RECORD_TYPE

STRING

Le type d’événement. Un des éléments suivants :

  • LOG pour un message de journal.

  • SPAN pour les invocations de fonctions définies par l’utilisateur effectuées séquentiellement sur le même fil. Pour plus d’informations, reportez-vous à Colonne RECORD_TYPE.

  • SPAN_EVENT pour un seul événement de trace. Une même requête peut émettre plus d’un SPAN_EVENT.

RECORD

OBJECT

Valeurs fixes pour chaque type d’enregistrement, comme décrit dans Colonne RECORD.

RECORD_ATTRIBUTES

OBJECT

Attributs de variables pour chaque type d’enregistrement, tels que décrits dans Colonne RECORD_ATTRIBUTES.

VALUE

VARIANT

Valeur de l’événement primaire.

EXEMPLARS

ARRAY

Réservé pour une utilisation future.

Données capturées par type d’événement

Données pour les journaux

Attribut

Description

OBSERVED_TIMESTAMP

Actuellement la même valeur que pour TIMESTAMP.

RECORD

Le niveau de gravité enregistré par l’événement du journal.

RECORD_ATTRIBUTES

L’emplacement dans le code à partir duquel l’événement a été émis. Les valeurs varient selon le langage du gestionnaire, mais peuvent inclure le chemin d’accès au fichier de code, le nom de la fonction, le numéro de ligne, etc.

RECORD_TYPE

Le type d’événement : LOG pour un message de journal

RESOURCE_ATTRIBUTES

Attributs qui identifient la source de l’événement, telle que la base de données, le schéma, l’utilisateur, l’entrepôt, etc.

SCOPE

Champ d’application dans lequel l’événement s’est produit, tel que le nom de la classe dans laquelle l’événement a été créé.

TIMESTAMP

L’heure à laquelle l’événement a été créé.

VALUE

Le message du journal.

Données pour les événements de trace

Attribut

Description

RECORD

Pour un span, un objet qui inclut le nom et le type du span ; pour un événement de span, l’objet inclut le nom du span.

RECORD_ATTRIBUTES

Données d’attribut associées à un span ou un événement de span.

RECORD_TYPE

Le type d’événement : SPAN pour un span, SPAN_EVENT pour un événement de span.

RESOURCE_ATTRIBUTES

Attributs qui identifient la source de l’événement, telle que la base de données, le schéma, l’utilisateur, l’entrepôt, etc.

START_TIMESTAMP

Pour un span, l’heure à laquelle le span a commencé. Non utilisé pour un événement de span.

TIMESTAMP

L’heure à laquelle l’événement a été créé.

TRACE

Identifie trace_id et span_id pour un span et les événements du span qu’il contient.

Colonne EXEMPLARS

Réservé pour une utilisation future.

Colonne OBSERVED_TIMESTAMP

L’horodatage UTC d’un journal. Non utilisé pour les événements de trace.

Colonne RECORD

Fournit des informations essentielles sur l’événement, notamment le niveau d’enregistrement pour un événement d’enregistrement, ou le nom de l’événement de trace (plage ou enregistrement d’événement de span).

Les attributs éventuels de l’enregistrement sont enregistrés dans la colonne RECORD_ATTRIBUTES.

Les valeurs contenues dans cette colonne varieront en fonction de la valeur de la colonne RECORD_TYPE (LOG, SPAN ou SPAN_EVENT), comme décrit dans les sections suivantes.

Pour LOG RECORD_TYPE

Lorsque la valeur de la colonne RECORD_TYPE est LOG, la valeur de la colonne RECORD contient la gravité du message. La valeur de la colonne peut contenir les clés suivantes :

Clé

Type

Description

severity_text

STRING

Le texte de la gravité du journal. Un des éléments suivants :

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

Lorsque l’entrée du journal concerne une exception non gérée, cette valeur correspond au niveau d’erreur le plus grave pour le runtime du langage actuel. Par exemple, pour un gestionnaire écrit en Python, la valeur est FATAL.

Exemple

{
  "severity_text": "INFO"
}
Copy

Pour SPAN RECORD_TYPE

Les spans représentent des exécutions individuelles de fonctions et de procédures. Pour les procédures stockées, il n’y aura qu’un seul span. Pour les fonctions définies par l’utilisateur, il peut y avoir plusieurs spans pour un seul appel de fonction, selon la manière dont Snowflake décide de planifier l’exécution.

Tous les spans d’une requête donnée ont la même valeur pour la clé trace_id de la colonne TRACE.

La durée d’un span est la différence entre les valeurs des colonnes start_timestamp et timestamp, qui indiquent respectivement le début et la fin de l’exécution du span.

Les ID du span et de la trace de la requête sont représentés dans la valeur de la colonne TRACE.

Snowflake créera un span pour chaque exécution avec les clés indiquées ci-dessous :

Clé

Type

Description

dropped_attributes_count

int

Le nombre d’attributs ignorés après que le maximum enregistré a été atteint.

name

chaîne

Valeur fixe.

kind

chaîne

Valeur fixe SPAN_KIND_INTERNAL

status

chaîne

STATUS_CODE_ERROR lorsque le span correspond à une exception non gérée. Sinon, STATUS_CODE_UNSET.

Dans le cas de fonctions définies par l’utilisateur, Snowflake peut ajouter des attributs pour les spans afin d’indiquer le nombre de lignes traitées et émises par la fonction.

Pour SPAN_EVENT RECORD_TYPE

Les événements de span sont des enregistrements d’événements attachés à une exécution de span particulière, décrite ci-dessus. Vous pouvez créer des événements pour répondre aux besoins de votre application. Le nombre d’événements de span est limité à 128.

La valeur de la colonne TRACE identifie la période de temps au cours de laquelle l’événement a été créé.

Les événements de span ont une clé unique, name, et peuvent avoir des attributs arbitraires ajoutés dans la colonne RECORD_ATTRIBUTES.

Clé

Type

Description

name

chaîne

Nom de l’événement de span.

Colonne RECORD_ATTRIBUTES

Décrit l’événement avec des métadonnées définies par Snowflake ou par le code du gestionnaire. La valeur varie en fonction du type d’enregistrement que la ligne contient, comme décrit dans les sections suivantes.

Pour LOG RECORD_TYPE

L’emplacement dans le code à partir duquel l’événement a été émis, y compris le chemin d’accès au fichier de code, le nom de la fonction, le numéro de ligne, etc.

Attribut

Type

Description

code.filepath

int

Le fichier contenant le code qui a généré le message.

code.function

chaîne

Le nom de la fonction qui a généré le message.

code.lineno

int

Le numéro de ligne du code qui a généré le message.

code.namespace

int

L’espace de noms du code qui a généré les messages.

exception.message

chaîne

Le message d’erreur d’une exception non gérée.

exception.type

chaîne

Le nom de la classe pour une exception non gérée.

exception.stacktrace

chaîne

Trace de pile d’une exception non gérée formatée par un runtime du langage.

exception.escaped

booléen

true si cette entrée provient d’une exception non gérée.

thread.id

int

Fil sur lequel l’événement de journal a été créé.

thread.name

chaîne

Fil sur lequel l’événement de journal a été créé.

Exemple

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

Pour SPAN RECORD_TYPE

Attributs attribués, le cas échéant, au span lors de son enregistrement. Les noms et les valeurs des attributs sont définis par le code du gestionnaire ou par Snowflake.

La table suivante énumère les attributs qui peuvent être définis par Snowflake.

Attribut

Type

Description

snow.rows.processed

int

Le nombre de lignes traitées par le span de la fonction.

Exemple

Le code de l’exemple suivant inclut les attributs définis par Snowflake.

{
  "snow.rows.processed": 12
}
Copy

Exemple

Le code de l’exemple suivant inclut les attributs définis par le code du gestionnaire.

{
  "MyFunctionVersion": "1.1.0"
}
Copy

Pour SPAN_EVENT RECORD_TYPE

Attributs éventuellement attribués à l’événement de span lors de son enregistrement. Les noms et les valeurs des attributs peuvent être définis par Snowflake ou par un code utilisateur.

Exemple

Le code de l’exemple suivant inclut les attributs définis par le code du gestionnaire.

{
  "mykey1": "value1",
  "mykey2": "value2"
}
Copy

Colonne RECORD_TYPE

Spécifie le type d’enregistrement décrit par la ligne de la table d’événements. La valeur de cette colonne indique lequel des trois types d’enregistrements pour lequel une table d’événements peut contenir des données.

La colonne RECORD contient les données de cet enregistrement. La colonne RECORD_ATTRIBUTES contient les métadonnées de cet enregistrement, le cas échéant.

La table suivante énumère les valeurs possibles pour cette colonne.

Valeur de colonne

Description

LOG

La ligne représente une entrée de journal générée par le code du gestionnaire.

SPAN

La ligne représente un span.

Pour une procédure stockée, il n’y aura qu’un seul span. Pour une fonction définie par l’utilisateur, qui peut être parallélisée, il y aura un span pour chaque thread sur lequel la fonction s’exécute. Le nombre de threads varie en fonction de plusieurs facteurs, notamment la taille de l’entrepôt Snowflake dans lequel la fonction s’exécute.

Un span peut contenir plusieurs événements de span. Pour plus d’informations, reportez-vous à Données enregistrées sur le span.

SPAN_EVENT

La ligne représente un événement de span. Il peut y avoir plusieurs enregistrements d’événements de span attachés à un span particulier. Le code de votre gestionnaire peut créer des événements en fonction de vos besoins. Le nombre d’événements de span est limité à 128.

Colonne RESOURCE

Réservé pour une utilisation future.

Colonne RESOURCE_ATTRIBUTES

Décrit la source d’un événement en termes d’objets Snowflake.

Les attributs qui composent la valeur de cette colonne sont définis par Snowflake et ne peuvent pas être modifiés.

Attributs de ressources pour la source d’événement

Nom d’attribut

Type d’attribut

Description

Exemple

snow.database.id

int

L’identificateur interne/généré par le système de la base de données contenant l’exécutable.

12345

snow.database.name

chaîne

Nom de la base de données contenant l’exécutable.

MY_DATABASE

snow.executable.id

int

L’identificateur interne ou généré par le système de l’exécutable (procédure, fonction, SnowService, etc.) qui génère l’événement.

12345

snow.executable.name

chaîne

Le nom de l’exécutable (procédure, fonction, etc.) qui génère l’événement.

MY_UDF

snow.executable.type

chaîne

Un des éléments suivants :

  • procedure pour la procédure stockée

  • function pour une fonction définie par l’utilisateur

  • sql pour un événement provenant d’une seule requête, telle qu’un bloc de script Snowflake.

  • service pour un SnowService Snowflake

procedure

snow.owner.id

int

L’identificateur interne/généré par le système du rôle OWNERSHIP de l’exécutable.

1234

snow.owner.name

chaîne

Nom du rôle OWNERSHIP de l’exécutable.

UDF_OWNER_RL

snow.schema.id

int

L’identificateur interne/généré par le système du schéma contenant l’exécutable.

12345

snow.schema.name

chaîne

Nom du schéma contenant l’exécutable.

MY_SCHEMA

telemetry.sdk.language

chaîne

Langue de la ressource/SDK. Snowflake utilise java, scala, python, javascript et sql.

java

Attributs de ressources pour l’environnement d’exécution

Attribut

Type

Description

Exemples

db.user

chaîne

Nom de l’utilisateur exécutant la fonction.

MY_USER_NAME

snow.query.id

chaîne

ID de la requête.

01a6aeb7-0604-c466-0000-097127d13812

snow.release.version

chaîne

La version de Snowflake en cours d’exécution au moment où l’événement a été généré

7.9.0

snow.session.id

int

L’ID de la session qui exécute l’exécutable.

10

snow.session.role.primary.id

int

L’identificateur interne/généré par le système du rôle principal dans la session.

10

snow.session.role.primary.name

chaîne

Le nom du rôle principal dans la session.

MY_ROLE

snow.user.id

int

L’identificateur interne ou généré par le système de l’utilisateur qui exécute la requête.

1234

snow.warehouse.id

int

Identificateur interne ou généré par le système de l’entrepôt qui exécute la requête à l’origine de l’événement.

12345

snow.warehouse.name

chaîne

Le nom de l’entrepôt qui exécute la requête générant l’événement.

MY_WAREHOUSE

Attributs de ressources pour les applications

Attribut

Type

Description

Exemples

snow.application.consumer.name

chaîne

Pour les applications natives, le nom du compte du consommateur.

CONSUMER_NAME

snow.application.consumer.organization

chaîne

Pour les applications natives, le nom de l’organisation du consommateur.

CONSUMER_ORG_NAME

snow.application.package.name

chaîne

Pour les applications natives, le nom du paquet de l’application.

MY_INSTALLED_PACKAGE_NAME

snow.listing.global_name

chaîne

Pour les applications natives, l’identificateur interne ou généré par le système de l’annonce.

GZYZN3J3

snow.listing.name

chaîne

Pour les applications natives, le nom de l’annonce.

MY_LISTING_NAME

Attributs de ressources pour la version de Snowflake

Attribut

Type

Description

Exemples

service.version

chaîne

La version de l’exécutable, le cas échéant. La combinaison de snow.version et snow.patch reliés par un point là où ils existent. Attribut standard OpenTelemetry.

2.3.1

snow.patch

chaîne

Le niveau de correctif de l’exécutable en cours d’exécution.

1

snow.version

chaîne

La version de l’exécutable en cours d’exécution.

2.3

Exemple

{
  "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

Colonne SCOPE

Pour les événements de journal, l’espace de noms du code qui a émis l’événement, tel que le nom de la classe créant une entrée de journal. Cette fonction n’est pas utilisée pour les événements de trace.

Le tableau suivant énumère les attributs qui peuvent être inclus dans cette colonne.

Valeur du champ d’application

Attribut

Type

Description

Exemples

name

Chaîne

Espace de noms du code qui émet l’événement.

com.sample.MyClass

Exemple

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

Colonne SCOPE_ATTRIBUTES

Réservé pour une utilisation future.

Colonne START_TIMESTAMP

L’heure à laquelle un span a commencé sous la forme d’un horodatage UTC.

Valeur de colonne RECORD_TYPE

Description de la valeur de START_TIMESTAMP

LOG

Non utilisé.

SPAN

L’heure à laquelle le span a commencé.

SPAN_EVENT

Non utilisé.

Colonne TIMESTAMP

Heure à laquelle un événement a été émis. La signification de la valeur varie en fonction du type d’enregistrement que la ligne représente, comme indiqué dans le tableau suivant :

Valeur de colonne RECORD_TYPE

Description de la valeur de TIMESTAMP

LOG

L’heure à laquelle l’événement a été émis.

SPAN

Heure à laquelle l’exécution s’est terminée.

SPAN_EVENT

L’heure à laquelle l’événement a été émis.

Colonne TRACE

Identificateurs uniques représentant l’exécution des fonctions et des procédures.

Valeur de colonne RECORD_TYPE

Description de la valeur de TRACE

LOG

Non utilisé.

SPAN

trace_id et span_id

SPAN_EVENT

trace_id et span_id

Valeur de trace

Le tableau suivant énumère les attributs qui peuvent être inclus dans cette colonne.

Attribut

Type

Description

Exemples

span_id

Chaîne hexagonale

Un identificateur unique lié au modèle de threading. Les procédures, qui sont monothread, ont une seule valeur span_id. Les fonctions, qui peuvent être exécutées par Snowflake sur plusieurs threads (par exemple, pour plusieurs lignes), peuvent avoir plusieurs valeurs span_id.

b4c28078330873a2

trace_id

Chaîne hexagonale

Identificateur unique pour les appels effectués à partir d’une requête. Chaque appel à une procédure stockée aura sa propre valeur trace_id. Au sein d’une requête, les appels à toutes les fonctions effectuées à partir de la requête partageront la même valeur trace_id.

Cette valeur est unique pour chaque requête et sera la même pour tous les spans d’une requête. Vous pouvez l’utiliser pour regrouper des événements au sein d’une même exécution de requête.

6992e9febf0b97f45b34a62e54936adb

Exemple

Le code de l’exemple suivant montre les attributs qui seraient présents pour un span ou un événement de span.

{
  "span_id": "b4c28078330873a2",
  "trace_id": "6992e9febf0b97f45b34a62e54936adb"
}
Copy

Colonne VALUE

Pour les événements du journal, il s’agit généralement du message du journal. Lorsque l’événement enregistré concerne une exception non gérée, la valeur dans cette colonne sera simplement exception.

Notez que le type de la colonne VALUE est VARIANT (et non STRING), de sorte qu’elle peut avoir des valeurs autres que des chaînes dans certains langages, comme JavaScript.