Emissão de eventos de rastreamento em JavaScript¶
Você pode usar a classe snowflake
na API JavaScript Snowflake para emitir eventos de rastreamento de um manipulador de função ou procedimento escrito em JavaScript. A API JavaScript já está disponível para seu código do manipulador JavaScript.
Antes de emitir eventos de rastreamento, certifique-se de que o nível de rastreamento esteja definido para que os dados desejados sejam armazenados na tabela de eventos. Para obter mais informações, consulte Configuração do nível de rastreamento.
Nota
Antes de começar a emitir eventos de rastreamento, você deve configurar uma tabela de eventos. Para obter mais informações, consulte Configuração de uma tabela de eventos.
Você pode acessar os dados de eventos de rastreamento armazenados executando um comando SELECT na tabela de eventos. Para obter mais informações, consulte Acesso a dados de rastreamento.
Para obter informações gerais sobre a configuração de registro e recuperação de mensagens no Snowflake, consulte Eventos de rastreamento para funções e procedimentos.
Nota
Para as diretrizes a serem consideradas ao adicionar eventos de rastreamento, consulte Diretrizes gerais para adicionar eventos de rastreamento.
Adição de eventos de rastreamento¶
Você pode adicionar eventos de rastreamento chamando a função snowflake.addEvent
, passando um nome para o evento. Opcionalmente, você também pode associar atributos - pares chave-valor - a um evento.
O método addEvent
está disponível na seguinte forma:
snowflake.addEvent(name [, { key:value [, key:value] } ] );
O código do manipulador no exemplo a seguir adiciona dois eventos, name_a
e name_b
. Com name_b
, o código também adiciona dois atributos, score
e 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;
$$
;
A definição desses atributos resulta em duas linhas na tabela de eventos, cada uma com um valor diferente na coluna RECORD:
{
"name": "name_a"
}
{
"name": "name_b"
}
A linha de evento name_b
inclui os seguintes atributos na coluna RECORD_ATTRIBUTES da linha:
{
"score": 89,
"pass": true
}
Adição de atributos de span¶
Você pode definir atributos - pares chave-valor - associados aos spans chamando a função snowflake.setSpanAttribute
.
A função setSpanAttribute
está disponível na seguinte forma:
snowflake.setSpanAttribute(key, value);
Para obter mais detalhes sobre spans, consulte Como o Snowflake representa eventos de rastreamento.
O código no exemplo a seguir cria quatro atributos e define seus valores:
// Setting span attributes.
snowflake.setSpanAttribute("example.boolean", true);
snowflake.setSpanAttribute("example.long", 2L);
snowflake.setSpanAttribute("example.double", 2.5);
snowflake.setSpanAttribute("example.string", "testAttribute");
A configuração desses atributos resulta no seguinte na coluna RECORD_ATTRIBUTES da tabela de eventos:
{
"example.boolean": true,
"example.long": 2,
"example.double": 2.5,
"example.string": "testAttribute"
}