Registro, rastreamento e métricas

É possível registrar a atividade do código do manipulador de funções e procedimentos do Snowflake (incluindo o código que você escreve usando APIs Snowpark) capturando mensagens de log e eventos de rastreamento do código à medida que ele é executado. Depois de coletar os dados, você pode consultá-los com SQL para analisar os resultados.

Registro, rastreamento e métricas estão entre os recursos de observação que o Snowflake fornece para facilitar a depuração e a otimização de aplicativos. O Snowflake captura dados de observabilidade em uma estrutura baseada no padrão OpenTelemetry.

Em especial, é possível registrar e analisar o seguinte:

  • Mensagens de log – Mensagens independentes e detalhadas com informações sobre o estado de uma parte específica de seu código.

  • Dados de métricas – métricas de CPU e memória geradas pelo Snowflake.

  • Eventos de rastreamento – Dados estruturados que você pode usar para obter informações abrangendo e agrupando diversas partes de seu código.

Introdução

Use as seguintes etapas de alto nível para começar a capturar e usar dados de registro e rastreamento.

  1. Certifique-se de ter uma tabela de evento ativa. Você tem as seguintes opções:

    O Snowflake coleta dados de telemetria de seu código na tabela de evento.

  2. Defina níveis de telemetria para que os dados sejam coletados.

    Com os níveis, é possível especificar quais dados – e quantos dados – são coletados. Certifique-se de que os níveis estejam definidos corretamente.

  3. Comece a emitir dados de registro ou rastreamento do código do manipulador.

    Após criar uma tabela de evento e associá-la à sua conta, é possível usar uma API na linguagem do manipulador para emitir mensagens de log. Depois de capturar dados de registro e rastreamento, você pode consultar os dados para analisar os resultados.

    Para obter mais informações sobre como instrumentar seu código, consulte o seguinte:

  4. Consulte a tabela de eventos para analisar os dados de registro e rastreamento coletados.

    Para obter mais informações, consulte o seguinte:

Definição dos níveis de telemetria

É possível gerenciar o nível de dados de telemetria armazenados na tabela de evento – como dados de log, rastreamento e métricas – configurando o nível para cada tipo de dados. Use as configurações de nível para garantir que você esteja capturando a quantidade e o tipo de dados desejado.

Para obter mais informações, consulte Definição de níveis para registro, métricas e rastreamento.

Comparação de mensagens de registro e eventos de rastreamento

A tabela a seguir compara as características e os benefícios das mensagens de registro e dos eventos de rastreamento.

Característica

Entradas de registro

Eventos de rastreamento

Uso pretendido

Registre informações detalhadas, mas não estruturadas, sobre o estado do seu código. Use essas informações para entender o que aconteceu durante uma determinada invocação de sua função ou procedimento.

Registre um resumo breve, mas estruturado, de cada invocação do seu código. Agregue essas informações para entender o comportamento do seu código em um nível elevado.

Estrutura como carga útil

Nenhum. Uma entrada de registro é apenas uma cadeia de caracteres.

Estruturada com atributos que você pode anexar aos eventos de rastreamento. Os atributos são pares chave-valor que podem ser facilmente consultados com uma consulta SQL.

Oferece suporte a agrupamento

Não. Cada entrada de registro é um evento independente.

Sim. Os eventos de rastreamento são organizados em spans. Um span pode ter seus próprios atributos.

Limites de quantidade

Ilimitado. Todas as entradas de registro emitidas pelo seu código são ingeridas na tabela de eventos.

O número de eventos de rastreamento por span é limitado a 128. Há também um limite para o número de atributos de span.

Complexidade das consultas aos dados registrados

Relativamente alto. Suas consultas devem analisar cada entrada de registro para extrair informações significativas.

Relativamente baixo. Suas consultas podem tirar proveito da natureza estruturada dos eventos de rastreamento.