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 depuração de códigos, você deve criar uma nova função que irá utilizar o método log. Essa função escreve para um arquivo local a mensagem passada previamente por parâmetro a ela.

Verifique a aplicação da função console.log abaixo:

async function handleRequest(request) {
console.log("Hello World");
return new Response("Checking console output.", {
status: 200,
});
}
addEventListener("fetch", (event) => {
event.respondWith(handleRequest(event.request));
});
}

A mensagem, então, é coletada e fica disponível para ser acessada via Data Stream.


Configurar o recebimento dos logs

  1. Acesse o Azion Console com suas credenciais.
  2. No canto superior esquerdo, selecione Products Menu > Observe > Data Stream.
  3. Selecione um template já existente ou crie um novo, clicando em Add Streaming.
  4. Preencha os campos abaixo com as informações necessárias:

Name for Data Stream: defina um nome para seu template.

Data

Data Source: é a plataforma Azion que gerará os eventos de onde você deseja coletar dados. Selecione uma opção.

Template: definição das variáveis. Selecione Custom Template para criar uma nova configuração de dados e inclua as seguintes variáveis no campo Data Set:

VariávelDescrição
$timeData e hora da requisição.
$global_idIdentificador da configuração.
$edge_function_idIdentificador da Edge Function.
$request_idIdentificador da requisição.
$log_levelNível do log gerado (ERROR, WARN, INFO, DEBUG, TRACE).
$log_messageMensagem usada para o log na chamada da função.

Options: local de onde será coletado dados. É possível filtrar os domínios (Filter Domains) ou selecionar todos (All Domains). Selecione uma opção.

Este campo aparecerá somente se você tiver mais de um domínio cadastrado.

Domains: caso deseje especificar quais os domínios, selecione-os na caixa.

Sampling: definição da % dos dados que serão transmitidos. So é permitido alterar o valor ao selecionar All Domains no campo Options.

Este campo aparecerá somente se você tiver mais de um domínio cadastrado.

Destination

Endpoint type: o método pelo qual seu endpoint vai receber os dados coletados por Data Stream. Selecione uma opção.

Endpoint URL: a URL que receberá as informações transmitidas por Data Stream. Defina a URL.

Custom Headers: inclua aqui a necessidade de adicionar headers nas requisições.

  1. Clique em Save para finalizar o processo.

Consulte a documentação do Data Stream para mais informações.



Contribuidores