Configuração do registro e o compartilhamento de eventos para um aplicativo¶
Este tópico descreve como configurar o registro e o compartilhamento de eventos para solucionar problemas de um aplicativo instalado.
Este tópico fornece informações sobre como configurar o registro e o compartilhamento de eventos como um provedor. Consulte Como ativar o registro e o compartilhamento de eventos para um aplicativo para os requisitos do consumidor para configurar esse recurso.
Os eventos de registro e rastreamento permitem que você colete informações sobre um aplicativo para solucionar erros. Usando eventos de registro e rastreamento, você também pode ter uma ideia melhor de como seu aplicativo é executado e melhorá-lo posteriormente.
Fluxo de trabalho para configurar o registro e o compartilhamento de eventos como um provedor¶
Como provedor, você pode configurar o registro e o compartilhamento de eventos para um aplicativo executando o seguinte:
Revisão das considerações para usar o registro e o compartilhamento de eventos.
Configuração de eventos de registro e rastreamento para funções e procedimentos armazenados.
Definição do nível de registro e rastreamento no arquivo de manifesto.
Configuração de uma conta para armazenar eventos compartilhados.
Depois que o consumidor instalar um aplicativo e habilitar o registro e o compartilhamento de eventos, você pode visualizar o registro e as informações de eventos compartilhadas pelo aplicativo instalado:
Considerações para usar o registro e o compartilhamento de eventos¶
Antes de usar o registro e o compartilhamento de eventos para um aplicativo, você deve considerar o seguinte:
Você é responsável por todos os custos associados ao compartilhamento de eventos no lado do provedor, incluindo ingestão e armazenamento de dados.
Você deve ter uma conta para armazenar eventos compartilhados em cada região onde você deseja oferecer suporte ao compartilhamento de eventos.
Você deve definir o nível de log padrão e o nível de rastreamento para um aplicativo no arquivo de manifesto.
Configuração de eventos de registro e rastreamento em funções e procedimentos¶
O Native Apps Framework exige uma tabela de eventos para armazenar mensagens de log e rastrear eventos gerados a partir de funções e procedimentos armazenados em um aplicativo.
Nota
Se o consumidor de seu aplicativo não configurar uma tabela de eventos e torná-la a tabela ativa antes de instalar o aplicativo, os dados de registro e eventos serão descartados.
Uma conta pode ter várias tabelas de eventos, mas apenas uma delas pode ser definida como a tabela de eventos ativa para uma conta Snowflake por vez. Sem uma tabela de eventos ativa, as mensagens de log e os eventos de rastreamento gerados pelo aplicativo não são capturados. Isso se aplica mesmo se as funções e procedimentos em um aplicativo chamarem as APIs de evento de registro e rastreamento.
Para criar uma tabela de eventos, use o comando CREATE EVENT TABLE. Para obter mais informações, consulte Configuração de uma tabela de eventos.
Após o código ter registrado mensagens de log e eventos de rastreamento, você pode consultar os dados gravados.
Para obter informações sobre como registrar e consultar dados de log e rastreamento, consulte o seguinte:
Definição do nível de registro e rastreamento no arquivo de manifesto¶
Para definir os níveis de eventos de rastreamento e log padrão para uma versão de um aplicativo, defina os parâmetros log_level
e trace_level
no arquivo de manifesto, conforme mostrado no exemplo a seguir:
artifacts:
setup_script: setup.sql
configuration:
trace_level: OFF
log_level: DEBUG
Quando um provedor ativa o rastreamento, um Snowflake Native App captura automaticamente as horas de início e término de todas as consultas e chamadas de procedimento armazenado.
Nota
Publicar um Snowflake Native App com a propriedade trace_level
definida com um valor diferente de OFF
pode expor chamadas para procedimentos armazenados ocultos a qualquer usuário na conta do consumidor que possa visualizar a tabela de eventos.
Consulte Configuração do nível de rastreamento e Configuração do nível de registro para obter informações sobre os valores suportados para trace_level
e log_level
.
Quando o Snowflake Native App é instalado inicialmente, ele usa os níveis de log definidos no arquivo de manifesto. Se o nível de log for alterado em uma atualização subsequente, o novo nível de log entrará em vigor após a conclusão do processo de atualização.
O nível de rastreamento e log só podem ser definidos no arquivo de manifesto. O consumidor não tem permissão para modificar o nível de log usando os comandos ALTER APPLICATION ou ALTER DATABASE.
Da mesma forma, quaisquer configurações de nível de sessão para o nível de registro em log são ignoradas pelo aplicativo.
Exibição dos níveis de log e rastreamento de eventos definidos em um pacote de aplicativo¶
Use o comando DESCRIBE APPLICATION para visualizar o nível de registro em log de um aplicativo instalado, conforme mostrado no seguinte comando:
DESC APPLICATION HelloSnowflake;
Use o comando SHOW VERSIONS para visualizar o nível de registro em log das versões do aplicativo definidas em um pacote de aplicativo, conforme mostrado no exemplo a seguir:
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
Exibição dos logs e eventos na tabela de eventos¶
Para visualizar os logs e eventos armazenados na tabela de eventos, use o comando SELECT como mostrado no exemplo a seguir:
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE