Colunas da tabela de eventos

Uma tabela de eventos tem um conjunto predefinido de colunas. Este tópico descreve as colunas.

Para obter mais informações sobre como trabalhar com tabelas de eventos, consulte Como trabalhar com tabelas de eventos.

Colunas da tabela de eventos

As tabelas de eventos têm as seguintes colunas:

Coluna

Tipo de dados

Descrição

TIMESTAMP

TIMESTAMP_NTZ

O carimbo de data/hora UTC em que um evento foi criado. Para eventos que representam um intervalo de tempo, esse é o fim do intervalo de tempo.

START_TIMESTAMP

TIMESTAMP_NTZ

Para eventos que representam um intervalo de tempo, como eventos de rastreamento, o início do intervalo de tempo como um carimbo de data/hora UTC.

OBSERVED_TIMESTAMP

TIMESTAMP_NTZ

Uma hora UTC usada para registros. Atualmente, o mesmo valor de TIMESTAMP.

TRACE

OBJECT

Contexto de rastreamento para todos os tipos de sinal. Contém os valores da cadeia de caracteres trace_id e span_id.

RESOURCE

OBJECT

Reservado para uso futuro.

RESOURCE_ATTRIBUTES

OBJECT

Atributos que identificam a origem de um evento, como banco de dados, esquema, usuário, warehouse etc.

SCOPE

OBJECT

Escopos para eventos. Por exemplo, nomes de classes para logs.

SCOPE_ATTRIBUTES

OBJECT

Reservado para uso futuro.

RECORD_TYPE

STRING

O tipo de evento. Um dos seguintes:

  • LOG para uma mensagem de log.

  • SPAN para invocações de funções definidas pelo usuário executadas sequencialmente no mesmo thread. Para obter mais informações, consulte Coluna RECORD_TYPE.

  • SPAN_EVENT para um único evento de rastreamento. Uma única consulta pode emitir mais de um SPAN_EVENT.

RECORD

OBJECT

Valores fixos para cada tipo de registro, conforme descrito em Coluna RECORD.

RECORD_ATTRIBUTES

OBJECT

Atributos variáveis para cada tipo de registro, conforme descrito em Coluna RECORD_ATTRIBUTES.

VALUE

VARIANT

Valor do evento primário.

EXEMPLARS

ARRAY

Reservado para uso futuro.

Dados capturados por tipo de evento

Dados para logs

Atributo

Descrição

OBSERVED_TIMESTAMP

Atualmente, o mesmo valor de TIMESTAMP.

RECORD

O nível de gravidade registrado pelo evento de log.

RECORD_ATTRIBUTES

O local no código a partir do qual o evento de log foi emitido. Os valores variam de acordo com a linguagem do manipulador, mas podem incluir o caminho do arquivo de código, o nome da função, o número da linha e assim por diante.

RECORD_TYPE

O tipo de evento: LOG para uma mensagem de log

RESOURCE_ATTRIBUTES

Atributos que identificam a origem do evento, como banco de dados, esquema, usuário, warehouse e assim por diante.

SCOPE

Escopo no qual o evento ocorreu, como o nome da classe em que o evento de log foi criado.

TIMESTAMP

O carimbo de data/hora em que o evento foi criado.

VALUE

A mensagem de log.

Dados para eventos de rastreamento

Atributo

Descrição

RECORD

Para um span, um objeto que inclui o nome e o tipo do span; para um evento de span, o objeto inclui o nome do span.

RECORD_ATTRIBUTES

Dados de atributo associados a um evento de span ou span.

RECORD_TYPE

O tipo de evento: SPAN para um span, SPAN_EVENT para um evento de span.

RESOURCE_ATTRIBUTES

Atributos que identificam a origem do evento, como banco de dados, esquema, usuário, warehouse e assim por diante.

START_TIMESTAMP

Para um span, a hora em que o span começou. Não é usado para um evento de span.

TIMESTAMP

O carimbo de data/hora em que o evento foi criado.

TRACE

Identifica trace_id e span_id para um span e os eventos de span dentro dele.

Coluna EXEMPLARS

Reservado para uso futuro.

Coluna OBSERVED_TIMESTAMP

Um carimbo de data/hora UTC do log. Não é usado para eventos de rastreamento.

Coluna RECORD

Fornece informações básicas sobre o evento, incluindo o nível de log de um evento de log ou o nome do evento de rastreamento (span ou registro de evento de span).

Os atributos, se houver, do registro são registrados na coluna RECORD_ATTRIBUTES.

Os valores contidos nessa coluna variam de acordo com o valor da coluna RECORD_TYPE (LOG, SPAN ou SPAN_EVENT), conforme descrito nas seções a seguir.

Para LOG RECORD_TYPE

Quando o valor da coluna RECORD_TYPE for LOG, o valor da coluna RECORD terá a gravidade da mensagem de registro. O valor da coluna pode conter as seguintes chaves:

Chave

Tipo

Descrição

severity_text

STRING

O texto para a gravidade do log. Um dos seguintes:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

Quando a entrada de registro é para uma exceção não tratada, esse valor é o nível de erro de maior gravidade para o tempo de execução do idioma atual. Por exemplo, para um manipulador escrito em Python, o valor é FATAL.

Exemplo

{
  "severity_text": "INFO"
}
Copy

Para SPAN RECORD_TYPE

Spans representam execuções individuais de funções e procedimentos. Para procedimentos armazenados, haverá um único span. Para funções definidas pelo usuário, pode haver vários spans para uma única chamada de função, dependendo de como o Snowflake decide programar a execução.

Todos os spans de uma determinada consulta têm o mesmo valor para a chave trace_id da coluna TRACE.

A duração de um span é a diferença entre os valores nas colunas start_timestamp e timestamp, indicando o horário do início e do fim da execução do span, respectivamente.

O ID do span e o rastreamento da consulta são representados no valor da coluna TRACE.

O Snowflake criará um span para cada execução com as chaves mostradas abaixo:

Chave

Tipo

Descrição

dropped_attributes_count

int

O número de atributos ignorados após o máximo registrado ter sido atingido.

name

cadeia de caracteres

Valor fixo.

kind

cadeia de caracteres

Valor fixo SPAN_KIND_INTERNAL

status

cadeia de caracteres

STATUS_CODE_ERROR quando o intervalo corresponde a uma exceção não tratada. Caso contrário, STATUS_CODE_UNSET.

No caso de funções definidas pelo usuário, o Snowflake pode adicionar atributos para spans para indicar o número de linhas processadas e emitidas pela função.

Para SPAN_EVENT RECORD_TYPE

Os eventos de span são registros de eventos anexados a uma execução de span específica, descrita acima. Você pode criar eventos para atender às necessidades do seu aplicativo. O número de eventos de span é limitado a 128.

O valor da coluna TRACE identificará o span em que o evento foi criado.

Os eventos de span têm uma única chave, name, e podem ter atributos arbitrários adicionados na coluna RECORD_ATTRIBUTES.

Chave

Tipo

Descrição

name

cadeia de caracteres

O nome do evento de span.

Coluna RECORD_ATTRIBUTES

Descreve o evento com metadados definidos pelo Snowflake ou pelo código do manipulador. O valor varia de acordo com o tipo de registro que a linha contém, conforme descrito nas seções a seguir.

Para LOG RECORD_TYPE

O local no código a partir do qual o evento de registro foi emitido, incluindo o caminho do arquivo de código, o nome da função, o número da linha e assim por diante.

Atributo

Tipo

Descrição

code.filepath

int

O arquivo que contém o código que gerou a mensagem.

code.function

cadeia de caracteres

O nome da função que gerou a mensagem.

code.lineno

int

O número da linha no código que gerou a mensagem.

code.namespace

int

O namespace do código que gerou as mensagens.

exception.message

cadeia de caracteres

A mensagem de erro de uma exceção não tratada.

exception.type

cadeia de caracteres

O nome da classe para uma exceção não tratada.

exception.stacktrace

cadeia de caracteres

Rastreamento de pilha de uma exceção não tratada formatada por um tempo de execução de linguagem.

exception.escaped

booleano

true se esta entrada for de uma exceção não tratada.

thread.id

int

O thread no qual o evento de log foi criado.

thread.name

cadeia de caracteres

O thread no qual o evento de log foi criado.

Exemplo

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

Para SPAN RECORD_TYPE

Atributos, se houver, atribuídos ao span quando ele é registrado. Os nomes e valores dos atributos são definidos pelo código do manipulador ou pelo Snowflake.

A tabela a seguir lista os atributos que podem ser definidos pelo Snowflake.

Atributo

Tipo

Descrição

snow.rows.processed

int

O número de linhas processadas pelo span da função.

Exemplo

O código no exemplo a seguir inclui atributos definidos pelo Snowflake.

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

Exemplo

O código no exemplo a seguir inclui atributos definidos pelo código do manipulador.

{
  "MyFunctionVersion": "1.1.0"
}
Copy

Para SPAN_EVENT RECORD_TYPE

Atributos, se houver, atribuídos ao evento de span quando ele é registrado. Os nomes e valores de atributos podem ser definidos pelo Snowflake ou pelo código do usuário.

Exemplo

O código no exemplo a seguir inclui atributos definidos pelo código do manipulador.

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

Coluna RECORD_TYPE

Especifica o tipo de registro descrito pela linha da tabela de eventos. O valor dessa coluna identifica qual dos três tipos de registros para os quais a tabela de eventos pode conter dados.

A coluna RECORD contém os dados desse registro. A coluna RECORD_ATTRIBUTES contém os metadados desse registro, se houver.

A tabela a seguir lista os valores possíveis para essa coluna.

Valor da coluna

Descrição

LOG

A linha representa uma entrada de log gerada pelo código do manipulador.

SPAN

A linha representa um span.

Para um procedimento armazenado, haverá um único span. Para uma função definida pelo usuário, que pode ser paralelizada, haverá um span para cada thread em que a função for executada. O número de threads varia de acordo com vários fatores, inclusive o tamanho do warehouse do Snowflake no qual a função é executada.

Um span pode conter vários eventos de span. Para obter mais informações, consulte Dados de span registrados.

SPAN_EVENT

A linha representa um evento de span. Pode haver vários registros de eventos de span anexados a um span específico. Seu código de manipulador pode criar eventos para atender às suas necessidades. O número de eventos de span é limitado a 128.

Coluna RESOURCE

Reservado para uso futuro.

Coluna RESOURCE_ATTRIBUTES

Descreve a origem de um evento em termos de objetos Snowflake.

Os atributos que compõem o valor dessa coluna são definidos pelo Snowflake e não podem ser alterados.

Atributos de recursos para a origem do evento

Nome do atributo

Tipo de atributo

Descrição

Exemplo

snow.database.id

int

O identificador interno/gerado pelo sistema do banco de dados que contém o executável.

12345

snow.database.name

cadeia de caracteres

O nome do banco de dados que contém o executável.

MY_DATABASE

snow.executable.id

int

O identificador interno/gerado pelo sistema do executável (procedimento, função, SnowService etc.) que gera o evento.

12345

snow.executable.name

cadeia de caracteres

O nome do executável (procedimento, função etc.) que está gerando o evento.

MY_UDF

snow.executable.type

cadeia de caracteres

Um dos seguintes:

  • procedure para procedimento armazenado

  • function para uma função definida pelo usuário

  • sql para um evento de uma única consulta, como um bloco do Script Snowflake.

  • service para um Snowflake SnowService

procedure

snow.owner.id

int

O identificador interno/gerado pelo sistema da função OWNERSHIP do executável.

1234

snow.owner.name

cadeia de caracteres

O nome da função OWNERSHIP do executável.

UDF_OWNER_RL

snow.schema.id

int

O identificador interno/gerado pelo sistema do esquema que contém o executável.

12345

snow.schema.name

cadeia de caracteres

O nome do esquema que contém o executável.

MY_SCHEMA

telemetry.sdk.language

cadeia de caracteres

A linguagem do recurso/SDK. O Snowflake usa java, scala, python, javascript e sql.

java

Atributos de recursos para o ambiente de execução

Atributo

Tipo

Descrição

Exemplos

db.user

cadeia de caracteres

O nome do usuário que está executando a função.

MY_USER_NAME

snow.query.id

cadeia de caracteres

A ID da consulta.

01a6aeb7-0604-c466-0000-097127d13812

snow.release.version

cadeia de caracteres

A versão do Snowflake em execução quando o evento foi gerado

7.9.0

snow.session.id

int

O ID da sessão que está executando o executável.

10

snow.session.role.primary.id

int

O identificador interno/gerado pelo sistema da função principal na sessão.

10

snow.session.role.primary.name

cadeia de caracteres

O nome da função principal na sessão.

MY_ROLE

snow.user.id

int

O identificador interno/gerado pelo sistema do usuário que está executando a consulta.

1234

snow.warehouse.id

int

O identificador interno/gerado pelo sistema do warehouse que executa a consulta que gera o evento.

12345

snow.warehouse.name

cadeia de caracteres

O nome do warehouse que executa a consulta que gera o evento.

MY_WAREHOUSE

Atributos de recursos para aplicativos

Atributo

Tipo

Descrição

Exemplos

snow.application.consumer.name

cadeia de caracteres

Para aplicativos nativos, o nome da conta do consumidor.

CONSUMER_NAME

snow.application.consumer.organization

cadeia de caracteres

Para aplicativos nativos, o nome da organização do consumidor.

CONSUMER_ORG_NAME

snow.application.package.name

cadeia de caracteres

Para aplicativos nativos, o nome do pacote do aplicativo.

MY_INSTALLED_PACKAGE_NAME

snow.listing.global_name

cadeia de caracteres

Para aplicativos nativos, o identificador interno/gerado pelo sistema da listagem.

GZYZN3J3

snow.listing.name

cadeia de caracteres

Para aplicativos nativos, o nome da listagem.

MY_LISTING_NAME

Atributos de recursos para a versão Snowflake

Atributo

Tipo

Descrição

Exemplos

service.version

cadeia de caracteres

A versão do executável, quando relevante. A combinação de snow.version e snow.patch unidos por um ponto onde elas existem. Atributo OpenTelemetry padrão.

2.3.1

snow.patch

cadeia de caracteres

O nível de patch do executável em execução.

1

snow.version

cadeia de caracteres

A versão do executável em execução.

2.3

Exemplo

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

Coluna SCOPE

Para eventos de log, o namespace do código que emitiu o evento, como o nome da classe que cria uma entrada de log. Isso não é usado para eventos de rastreamento.

A tabela a seguir lista os atributos que podem ser incluídos nessa coluna.

Valor do escopo

Atributo

Tipo

Descrição

Exemplos

name

Cadeia de caracteres

Namespace do código que emite o evento.

com.sample.MyClass

Exemplo

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

Coluna SCOPE_ATTRIBUTES

Reservado para uso futuro.

Coluna START_TIMESTAMP

A hora em que um span começou como um carimbo de data/hora UTC.

Valor da coluna RECORD_TYPE

Descrição do valor START_TIMESTAMP

LOG

Não usado.

SPAN

A hora em que o span começou.

SPAN_EVENT

Não usado.

Coluna TIMESTAMP

A hora em que um evento foi emitido. O significado do valor varia de acordo com o tipo de registro que a linha representa, conforme listado na tabela a seguir:

Valor da coluna RECORD_TYPE

Descrição do valor TIMESTAMP

LOG

A hora do relógio de parede em que o evento foi emitido.

SPAN

O horário em que a execução foi concluída.

SPAN_EVENT

A hora do relógio de parede em que o evento foi emitido.

Coluna TRACE

Identificadores exclusivos que representam a execução de funções e procedimentos.

Valor da coluna RECORD_TYPE

Descrição do valor TRACE

LOG

Não usado.

SPAN

trace_id e span_id

SPAN_EVENT

trace_id e span_id

Valor de rastreamento

A tabela a seguir lista os atributos que podem ser incluídos nessa coluna.

Atributo

Tipo

Descrição

Exemplos

span_id

Cadeia de caracteres hexadecimal

Um identificador exclusivo vinculado ao modelo de threading. Os procedimentos, que são de thread único, terão um único valor span_id. As funções, que podem ser executadas pelo Snowflake em vários threads (como para várias linhas), podem ter vários valores span_id.

b4c28078330873a2

trace_id

Cadeia de caracteres hexadecimal

Um identificador único para chamadas feitas a partir de uma consulta. Cada chamada a um procedimento armazenado terá seu próprio valor trace_id. Em uma consulta, as chamadas para todas as funções feitas a partir da consulta compartilharão o mesmo valor trace_id.

Esse valor é exclusivo para cada consulta e será o mesmo para todos os spans em uma consulta. Você pode usá-lo para agrupar eventos em uma única execução de consulta.

6992e9febf0b97f45b34a62e54936adb

Exemplo

O código no exemplo a seguir mostra os atributos que estariam presentes em um span ou evento de span.

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

Coluna VALUE

Para eventos de log, geralmente é a mensagem de log. Quando o evento registrado é para uma exceção não tratada, o valor nesta coluna será simplesmente exception.

Observe que o tipo da coluna VALUE é VARIANT (e não STRING), de modo que ela pode ter valores que não sejam cadeias de caracteres em algumas linguagens, como JavaScript.