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_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. |
|
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. |
|
TIMESTAMP_NTZ |
Uma hora UTC usada para registros. Atualmente, o mesmo valor de TIMESTAMP. |
|
OBJECT |
Contexto de rastreamento para todos os tipos de sinal. Contém os valores da cadeia de caracteres |
|
OBJECT |
Reservado para uso futuro. |
|
OBJECT |
Atributos que identificam a origem de um evento, como banco de dados, esquema, usuário, warehouse etc. |
|
OBJECT |
Escopos para eventos. Por exemplo, nomes de classes para logs. |
|
OBJECT |
Reservado para uso futuro. |
|
STRING |
O tipo de evento. Um dos seguintes:
|
|
OBJECT |
Valores fixos para cada tipo de registro, conforme descrito em Coluna RECORD. |
|
OBJECT |
Atributos variáveis para cada tipo de registro, conforme descrito em Coluna RECORD_ATTRIBUTES. |
|
VARIANT |
Valor do evento primário. |
|
ARRAY |
Reservado para uso futuro. |
Dados capturados por tipo de evento¶
Dados para logs¶
Atributo |
Descrição |
---|---|
Atualmente, o mesmo valor de TIMESTAMP. |
|
O nível de gravidade registrado pelo evento de log. |
|
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. |
|
O tipo de evento: |
|
Atributos que identificam a origem do evento, como banco de dados, esquema, usuário, warehouse e assim por diante. |
|
Escopo no qual o evento ocorreu, como o nome da classe em que o evento de log foi criado. |
|
O carimbo de data/hora em que o evento foi criado. |
|
A mensagem de log. |
Dados para eventos de rastreamento¶
Atributo |
Descrição |
---|---|
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. |
|
Dados de atributo associados a um evento de span ou span. |
|
O tipo de evento: |
|
Atributos que identificam a origem do evento, como banco de dados, esquema, usuário, warehouse e assim por diante. |
|
Para um span, a hora em que o span começou. Não é usado para um evento de span. |
|
O carimbo de data/hora em que o evento foi criado. |
|
Identifica |
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 |
---|---|---|
|
STRING |
O texto para a gravidade do log. Um dos seguintes:
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 é |
Exemplo¶
{
"severity_text": "INFO"
}
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 |
---|---|---|
|
int |
O número de atributos ignorados após o máximo registrado ter sido atingido. |
|
cadeia de caracteres |
Valor fixo. |
|
cadeia de caracteres |
Valor fixo |
|
cadeia de caracteres |
|
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 |
---|---|---|
|
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 |
---|---|---|
|
int |
O arquivo que contém o código que gerou a mensagem. |
|
cadeia de caracteres |
O nome da função que gerou a mensagem. |
|
int |
O número da linha no código que gerou a mensagem. |
|
int |
O namespace do código que gerou as mensagens. |
|
cadeia de caracteres |
A mensagem de erro de uma exceção não tratada. |
|
cadeia de caracteres |
O nome da classe para uma exceção não tratada. |
|
cadeia de caracteres |
Rastreamento de pilha de uma exceção não tratada formatada por um tempo de execução de linguagem. |
|
booleano |
|
|
int |
O thread no qual o evento de log foi criado. |
|
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"
}
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 |
---|---|---|
|
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
}
Exemplo¶
O código no exemplo a seguir inclui atributos definidos pelo código do manipulador.
{
"MyFunctionVersion": "1.1.0"
}
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"
}
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 |
---|---|
|
A linha representa uma entrada de log gerada pelo código do manipulador. |
|
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. |
|
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 |
---|---|---|---|
|
int |
O identificador interno/gerado pelo sistema do banco de dados que contém o executável. |
|
|
cadeia de caracteres |
O nome do banco de dados que contém o executável. |
|
|
int |
O identificador interno/gerado pelo sistema do executável (procedimento, função, SnowService etc.) que gera o evento. |
|
|
cadeia de caracteres |
O nome do executável (procedimento, função etc.) que está gerando o evento. |
|
|
cadeia de caracteres |
Um dos seguintes:
|
|
|
int |
O identificador interno/gerado pelo sistema da função OWNERSHIP do executável. |
|
|
cadeia de caracteres |
O nome da função OWNERSHIP do executável. |
|
|
int |
O identificador interno/gerado pelo sistema do esquema que contém o executável. |
|
|
cadeia de caracteres |
O nome do esquema que contém o executável. |
|
|
cadeia de caracteres |
A linguagem do recurso/SDK. O Snowflake usa java, scala, python, javascript e sql. |
|
Atributos de recursos para o ambiente de execução¶
Atributo |
Tipo |
Descrição |
Exemplos |
---|---|---|---|
|
cadeia de caracteres |
O nome do usuário que está executando a função. |
|
|
cadeia de caracteres |
A ID da consulta. |
|
|
cadeia de caracteres |
A versão do Snowflake em execução quando o evento foi gerado |
|
|
int |
O ID da sessão que está executando o executável. |
|
|
int |
O identificador interno/gerado pelo sistema da função principal na sessão. |
|
|
cadeia de caracteres |
O nome da função principal na sessão. |
|
|
int |
O identificador interno/gerado pelo sistema do usuário que está executando a consulta. |
|
|
int |
O identificador interno/gerado pelo sistema do warehouse que executa a consulta que gera o evento. |
|
|
cadeia de caracteres |
O nome do warehouse que executa a consulta que gera o evento. |
|
Atributos de recursos para aplicativos¶
Atributo |
Tipo |
Descrição |
Exemplos |
---|---|---|---|
|
cadeia de caracteres |
Para aplicativos nativos, o nome da conta do consumidor. |
|
|
cadeia de caracteres |
Para aplicativos nativos, o nome da organização do consumidor. |
|
|
cadeia de caracteres |
Para aplicativos nativos, o nome do pacote do aplicativo. |
|
|
cadeia de caracteres |
Para aplicativos nativos, o identificador interno/gerado pelo sistema da listagem. |
|
|
cadeia de caracteres |
Para aplicativos nativos, o nome da listagem. |
|
Atributos de recursos para a versão Snowflake¶
Atributo |
Tipo |
Descrição |
Exemplos |
---|---|---|---|
|
cadeia de caracteres |
A versão do executável, quando relevante. A combinação de |
|
|
cadeia de caracteres |
O nível de patch do executável em execução. |
|
|
cadeia de caracteres |
A versão do executável em execução. |
|
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"
}
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 |
---|---|---|---|
|
Cadeia de caracteres |
Namespace do código que emite o evento. |
|
Exemplo¶
{
"name": "com.sample.MyClass"
}
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 |
---|---|
|
Não usado. |
|
A hora em que o span começou. |
|
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 |
---|---|
|
A hora do relógio de parede em que o evento foi emitido. |
|
O horário em que a execução foi concluída. |
|
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 |
---|---|
|
Não usado. |
|
|
|
|
Valor de rastreamento¶
A tabela a seguir lista os atributos que podem ser incluídos nessa coluna.
Atributo |
Tipo |
Descrição |
Exemplos |
---|---|---|---|
|
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 |
|
|
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 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. |
|
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"
}
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.