Ausgeben von Ablaufverfolgungsereignissen in JavaScript¶
Sie können die Klasse snowflake
der Snowflake-JavaScript-API verwenden, um Ablaufverfolgungsereignisse von einem in JavaScript geschriebenen Funktions- oder Prozedur-Handler auszugeben. Die JavaScript-API steht für Ihren JavaScript-Handler-Code bereits zur Verfügung.
Stellen Sie vor dem Ausgeben von Ablaufverfolgungsereignissen sicher, dass der Protokolliergrad (Ablaufverfolgungsebene) so eingestellt ist, dass die gewünschten Meldungen in der Ereignistabelle gespeichert werden. Weitere Informationen dazu finden Sie unter Einstellen des Protokolliergrads (Ablaufverfolgungsebene).
Bemerkung
Bevor Sie mit der Ausgabe von Ablaufverfolgungsereignissen beginnen können, müssen Sie eine Ereignistabelle einrichten. Weitere Informationen dazu finden Sie unter Einrichten einer Ereignistabelle.
Sie können auf die gespeicherten Daten zu den Ablaufverfolgungsereignissen zugreifen, indem Sie einen SELECT-Befehl auf der Ereignistabelle ausführen. Weitere Informationen dazu finden Sie unter Zugriff auf Ablaufverfolgungsdaten.
Allgemeine Informationen zum Einrichten der Protokollierung und zum Abrufen von Meldungen in Snowflake finden Sie unter Ablaufverfolgungsereignisse von Funktionen und Prozeduren.
Bemerkung
Richtlinien, die beim Hinzufügen von Ablaufverfolgungsereignissen berücksichtigt werden sollten, finden Sie unter Allgemeine Richtlinien für das Hinzufügen von Ablaufverfolgungsereignissen.
Hinzufügen von Ablaufverfolgungsereignissen¶
Sie können Ablaufverfolgungsereignisse hinzufügen, indem Sie die Funktion snowflake.addEvent
aufrufen und einen Namen für das Ereignis übergeben. Sie können einem Ereignis optional auch Attribute (Schlüssel-Wert-Paare) zuordnen.
Die Methode addEvent
ist in der folgenden Form verfügbar:
snowflake.addEvent(name [, { key:value [, key:value] } ] );
Der Handler-Code im folgenden Beispiel fügt zwei Ereignisse hinzu: name_a
und name_b
. Mit name_b
fügt der Code auch zwei Attribute hinzu: score
und 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;
$$
;
Das Festlegen dieser Attribute führt zu zwei Zeilen in der Ereignistabelle, die jeweils einen anderen Wert in der Spalte RECORD haben:
{
"name": "name_a"
}
{
"name": "name_b"
}
Die Ereigniszeile name_b
enthält in der Spalte RECORD_ATTRIBUTES die folgenden Attribute:
{
"score": 89,
"pass": true
}
Hinzufügen von Bereichsattributen¶
Durch Aufruf der Funktion snowflake.setSpanAttribute
können Sie Attribute (Schlüssel-Wert-Paare) festlegen, die bestimmten Bereichen (Spans) zugeordnet sind.
Die Funktion setSpanAttribute
ist in der folgenden Form verfügbar:
snowflake.setSpanAttribute(key, value);
Weitere Informationen zu Bereichen (Spans) finden Sie unter Darstellung von Ablaufverfolgungsereignissen in Snowflake.
Der Code im folgenden Beispiel erstellt vier Attribute und legt deren Werte fest:
// Setting span attributes.
snowflake.setSpanAttribute("example.boolean", true);
snowflake.setSpanAttribute("example.long", 2L);
snowflake.setSpanAttribute("example.double", 2.5);
snowflake.setSpanAttribute("example.string", "testAttribute");
Das Einstellen dieser Attribute führt in der Spalte RECORD_ATTRIBUTES der Ereignistabelle zu folgendem Ergebnis:
{
"example.boolean": true,
"example.long": 2,
"example.double": 2.5,
"example.string": "testAttribute"
}