Debugging
Debug é um processo que possibilita aos desenvolvedores depurar mensagens de log ou valores de variáveis, por exemplo. A depuração permite ao usuário de Edge Functions gerar logs como se estivesse utilizando o JavaScript do browser.
O que é
O processo de debugging em Edge Functions tem por finalidade promover maior controle da aplicação para identificação de erros. Pode ser usado, também, para auxiliar no desenvolvimento e depuração de uma function, resultando em maior observabilidade.
Como funciona
Para depurar códigos, você deve criar uma nova edge function que utilizará o método log. Esse métodoo imprime no console uma mensagem que foi previamente enviada como parâmetro para a função.
Crie uma edge function
Siga estas etapas para criar uma edge function que registra mensagens:
- Acesse o Azion Console com suas credenciais de login.
- No Products Menu, navegue até Libraries > Edge Functions.
- Clique em + Edge Function para criar uma nova edge function.
- Escolha um nome para sua função.
- Na aba Code, cole o seguinte código:
- Clique no botão Save para finalizar o processo.
Agora que você criou a edge function, deve configurar sua edge application para executar a função para que os logs sejam acessíveis.
Instancie a edge function
Para instanciar a função recém criada em sua aplicação, siga estas etapas:
- No Products Menu, navegue até Build > Edge Application.
- Clique na aplicação à qual você deseja adicionar a função ou crie uma nova.
- Vá para a aba Function Instances e clique em + Function Instance.
- Nomeie sua instância de função.
- Selecione a edge function recém-criada no menu suspenso.
- Clique no botão Save.
Agora sua edge function está instanciada e pronta para ser usada em sua aplicação. Você pode configurar as condições de execução e comportamentos usando o Rules Engine:
- Ainda na página de configuração da edge application, navegue até a aba Rules Engine e clique no botão + Rule.
- Dê um nome descritivo à sua regra.
- Selecione Request Phase.
- Na seção Criteria, configure os critérios da seguinte forma:
- If
${uri}
starts with/
- If
- Na seção Behaviors, selecione Run Function no menu suspenso.
- Escolha a instância da sua edge function.
- Clique no botão Save.
Agora a função será executada de acordo com a regra e seus logs estarão prontos para serem capturados pelo Data Stream.
Configure um data stream
- No Products Menu, vá para Observe > Data Stream.
- Selecione um stream existente ou crie um novo clicando no botão + Stream.
- No campo Name, dê ao seu stream um nome único e fácil de lembrar.
- Na seção Data Settings, selecione Edge Functions como a fonte.
- Selecione o modelo Edge Functions Event Collector. Na caixa Data Set, você verá o conjunto pré-definido de variáveis:
Variável | Descrição |
---|---|
$time | Data e hora da requisição. |
$client | Identificador único do cliente Azion. |
$global_id | Identificador da configuração. |
$edge_function_id | Identificador da Edge Function. |
$request_id | Identificador da requisição. |
$message_source | A origem da mensagem. |
$log_level | Nível do log gerado (ERROR, WARN, INFO, DEBUG, TRACE). |
$log_message | Mensagem usada para o log na chamada da função. |
-
Na seção Destination, deixe o Connector como
Standard HTTP/HTTPS POST
e insira a URL que receberá os dados coletados. -
Clique no botão Save para finalizar o processo.
Agora seu data stream coletará logs das edge functions e os enviará para a URL especificada.
Consulte a documentação para saber mais sobre Data Stream e suas configurações. Você também pode usar Real-Time Events para observar e analisar os logs gerados.
- No Products Menu, navegue até Observe > Real-Time Events.
- Selecione a aba Edge Functions Console para ver os logs originados das edge functions. Use os filtros para especificar uma consulta detalhada.
- Na aba Data Stream, você pode ver os logs de dados enviados para vários endpoints via Data Stream.
- Clique em qualquer item para ver os detalhes dos dados enviados.
Leia a documentação do Real-Time Events para saber mais.