Émettre des événements de trace en JavaScript¶
Vous pouvez utiliser la classe snowflake
dans l”API Snowflake JavaScript pour émettre des événements de trace à partir d’un gestionnaire de fonction ou de procédure écrit en JavaScript. L’API JavaScript est déjà disponible pour votre code de gestionnaire JavaScript.
Avant d’émettre des événements de trace, assurez-vous que le niveau de trace est défini de manière à ce que les données souhaitées soient stockées dans la table des événements. Pour plus d’informations, reportez-vous à Réglage du niveau de trace.
Note
Avant de commencer à émettre des événements de trace, vous devez mettre en place une table d’événements. Pour plus d’informations, reportez-vous à Configuration d’une table d’événement.
Vous pouvez accéder aux données de trace stockées en exécutant une commande SELECT sur la table des événements. Pour plus d’informations, reportez-vous à Accès aux données de trace.
Pour des informations générales sur la configuration de la journalisation et la récupération des messages dans Snowflake, reportez-vous à Événements de trace pour les fonctions et les procédures.
Note
Pour les lignes directrices à garder à l’esprit lors de l’ajout d’événements de trace, se référer à Lignes directrices générales pour l’ajout d’événements de trace.
Ajout d’événements de trace¶
Vous pouvez ajouter des événements de trace en appelant la fonction snowflake.addEvent
et en indiquant le nom de l’événement. Il est également possible d’associer des attributs (paires clé-valeur) à un événement.
La méthode addEvent
est disponible sous la forme suivante :
snowflake.addEvent(name [, { key:value [, key:value] } ] );
Le code du gestionnaire de l’exemple suivant ajoute deux événements, name_a
et name_b
. Avec name_b
, le code ajoute également deux attributs, score
et pass
.
create procedure PI_JS()
returns double
language javascript
as
$$
snowflake.addEvent('name_a'); // add an event without attributes
snowflake.addEvent('name_b', {'score': 89, 'pass': true});
return 3.14;
$$
;
La définition de ces attributs entraîne l’apparition de deux lignes dans la table des événements, chacune avec une valeur différente dans la colonne RECORD :
{
"name": "name_a"
}
{
"name": "name_b"
}
La ligne d’événement name_b
comprend les attributs suivants dans la colonne RECORD_ATTRIBUTES de la ligne :
{
"score": 89,
"pass": true
}
Ajout d’attributs de span¶
Vous pouvez définir des attributs (paires clé-valeur) associés aux spans en appelant la fonction snowflake.setSpanAttribute
.
La fonction setSpanAttribute
est disponible sous la forme suivante :
snowflake.setSpanAttribute(key, value);
Pour plus de détails sur les spans, voir Comment Snowflake représente les événements de trace.
Le code de l’exemple suivant crée quatre attributs et définit leurs valeurs :
// Setting span attributes.
snowflake.setSpanAttribute("example.boolean", true);
snowflake.setSpanAttribute("example.long", 2L);
snowflake.setSpanAttribute("example.double", 2.5);
snowflake.setSpanAttribute("example.string", "testAttribute");
La définition de ces attributs se traduit par les éléments suivants dans la colonne RECORD_ATTRIBUTES de la table des événements :
{
"example.boolean": true,
"example.long": 2,
"example.double": 2.5,
"example.string": "testAttribute"
}