Pular para o conteúdo

Primeiros passos ​

Esta sessão não precisa de nada além do Signal Lab: tudo vai para 127.0.0.1, este computador, então nenhum dispositivo, rede ou regra de firewall entra em jogo. Você vai:

  1. enviar uma mensagem OSC e vê-la chegar;
  2. ver a mesma mensagem no Inspetor;
  3. salvá-la na biblioteca e enviá-la de novo de qualquer lugar;
  4. iniciar uma API HTTP emulada e perguntar algo a ela;
  5. executar um experimento contra essa API, ler por que ele falha, corrigi-lo e acrescentar uma verificação.

Se ainda não instalou o Signal Lab, veja Instalação e atualização. Não sabe onde fica alguma coisa na janela? Veja A janela.

Enviar uma mensagem OSC e vê-la chegar ​

Primeiro, algo que receba a mensagem: o monitor da tela OSC.

  1. Abra OSC na barra lateral.
  2. Na seção Monitor, defina o campo Endereço de escuta como 127.0.0.1:9000, para que o monitor escute só neste computador.
  3. Pressione Escutar. O botão passa a ser Parar, o console diz que o monitor está escutando, e o monitor aparece como tarefa na faixa do painel inferior.

Agora a mensagem, a partir do envio ao lado:

  1. Na seção Envio, deixe o campo Destino host:porta em 127.0.0.1:9000, a porta em que o monitor escuta.
  2. Deixe o campo Endereço OSC em /hello/avatar/1 e o único argumento float em Argumentos em 1.0 — ou digite um endereço e valores seus.
  3. Pressione Enviar, ou Enter no campo de destino ou de endereço.

Uma linha aparece na tabela do monitor: a Hora de chegada, a Origem (127.0.0.1 e a porta de onde a mensagem saiu), o Endereço e os Args. Abaixo do envio, uma linha confirma o que foi enviado e o tamanho em bytes; envie de novo e ela conta as repetições.

Um aviso sobre o firewall?

No Windows, iniciar o monitor pode fazer aparecer, abaixo do cabeçalho, um aviso sobre o Firewall do Windows. Ele trata de mensagens vindas de outras máquinas; o tráfego em 127.0.0.1 nunca é filtrado. Pressione Agora não por enquanto — O aviso do firewall explica quando permitir.

Vê-la no Inspetor ​

O Inspetor registra cada quadro que cada ferramenta envia e recebe — mas só enquanto a captura está ativa.

  1. No painel inferior, abra a aba Inspetor.
  2. Pressione Ativar captura. O ponto da aba acende.
  3. De volta ao envio, pressione Enviar mais uma vez.

Aparecem duas linhas, a mais recente primeiro: a mensagem como foi enviada (→) e como o monitor a recebeu (←), cada uma com o protocolo, o endereço da outra ponta, o tamanho e um resumo. Clique em uma: Detalhes do quadro mostra qual ferramenta a enviou ou recebeu e em quais endereços, a mensagem em Decodificado e os Bytes que a compõem.

Pressione Desativar captura quando terminar; com a captura desativada, ela não custa nada. Mais em Inspetor.

Salvá-la como sinal e enviá-la de novo ​

Uma mensagem que você vai querer de novo pertence à biblioteca de sinais.

  1. Na tela OSC, pressione Salvar… abaixo do envio.
  2. Na caixa Salvar na biblioteca, defina Nome como First message e Pasta como Tutorial — uma pasta nova é criada quando você salva nela.
  3. Pressione Salvar.

O envio agora está ligado a esse sinal: o botão diz Salvo, e um chip ao lado mostra onde o sinal está. Mude o argumento e o chip registra a alteração; Salvar (Ctrl+S) atualizaria o sinal.

Agora envie-o de novo, de três jeitos:

  • Pela biblioteca. Clique no chip: a tela Sinais abre com o sinal selecionado na pasta Tutorial (ou abra Sinais e clique nele ali). Pressione Enviar, ou Ctrl+Enter; um clique duplo nele na lista também o envia.
  • De qualquer lugar. Em qualquer tela, pressione Ctrl+K, digite first e pressione Enter.
  • De um experimento. Quando você adiciona um nó, o menu lista os seus sinais em Sinais salvos, prontos para virar uma etapa que envia um deles.

Em todas as vezes, o monitor mostra a mensagem chegando e o console dá o nome do sinal. Um sinal envia exatamente o que a tela dele teria enviado. Mais em Sinais.

Quando terminar com o OSC, pressione Parar no monitor.

Consultar uma API emulada ​

O Signal Lab vem com cinco emuladores, todos em 127.0.0.1. Um deles, a API de demonstração, é uma API HTTP em 127.0.0.1:8080 com estas rotas:

RequisiçãoResposta
GET /health200 com {"status":"ok","time":"…"} — a hora atual
GET /users/:id200 com o usuário desse id, como {"id":"42","name":"User 42"}
POST /users201 com um cabeçalho Location e o novo id
GET /slow200 depois de 1,5 segundo
qualquer método, /flaky503, 503 e depois 200 a partir da terceira requisição
qualquer outra coisa404
  1. Abra Emuladores. A Biblioteca lista os cinco; selecione API de demonstração.
  2. Pressione Iniciar. Agora ela responde em 127.0.0.1:8080 e roda como tarefa.
  3. Abra HTTP. O método é GET; defina a URL como http://127.0.0.1:8080/health.
  4. Pressione Enviar, ou Enter na URL.

Em Resposta você vê o Status 200, a Latência, o Tamanho, os cabeçalhos da resposta e o corpo JSON. Envie http://127.0.0.1:8080/flaky três vezes: duas respostas 503 e depois 200 — é assim que um serviço que se recupera aparece para um cliente que tenta de novo.

De volta a Emuladores, o painel Ao vivo conta cada requisição, e a lista Recebidas mostra cada uma com a Regra que a respondeu e a Resposta. Deixe a API de demonstração rodando para a próxima parte. Mais em Emuladores.

Executar um experimento ​

Um experimento é um fluxo de etapas que você pode executar de novo e de novo. Aquele com que o Signal Lab abre na primeira vez — o modelo Verificação HTTP — envia uma requisição para http://127.0.0.1:8080/ e verifica se a resposta é 200.

Abrir o modelo ​

  1. Abra Experimentos.
  2. Se o canvas não mostrar quatro nós — Início, Requisição HTTP, Status HTTP, Fim —, pressione ☰ à esquerda da barra de ferramentas (Experimentos), escolha Verificação HTTP na lista de modelos e pressione Abrir experimento. Abrir substitui o experimento do canvas; Ctrl+Z traz o anterior de volta.

Clique em um nó para ver as configurações dele em Propriedades, à direita. Os experimentos se salvam sozinhos enquanto você edita.

Executá-lo e ler por que ele falha ​

  1. Pressione Executar experimento.

A Linha do tempo abre abaixo do canvas, com uma linha por etapa quando ela começa (Em execução) e outra quando termina: a hora, o nó e como foi. Esta execução falha:

  • Início passa e informa a semente da execução.
  • Requisição HTTP passa: a requisição saiu e uma resposta voltou, HTTP 404.
  • Status HTTP falha: esperava 200 e recebeu 404.

A API de demonstração não tem rota para /, então respondeu 404 — e a verificação pegou isso. A linha no alto da linha do tempo diz Com falha e o porquê. Clique em uma linha para selecionar o nó dela no canvas.

A própria requisição falhou?

Se a etapa Requisição HTTP falhar com uma conexão recusada, nada está escutando em 127.0.0.1:8080: inicie a API de demonstração em Emuladores e execute de novo.

Corrigir a requisição ​

  1. Clique no nó Requisição HTTP.
  2. Em Propriedades, mude URL para http://127.0.0.1:8080/health.
  3. Pressione Executar experimento.

Desta vez todas as etapas passam: Status HTTP diz Condição satisfeita, Fim diz Concluído, e o título da linha do tempo diz Aprovado.

Acrescentar uma verificação ​

Um status 200 diz que o serviço respondeu; não diz o que ele respondeu. Verifique o corpo também:

  1. Clique no nó Status HTTP.
  2. Em Propriedades, pressione Adicionar a seguir — ou pressione A com o canvas em foco. Abre-se um menu de nós com um campo de busca.
  3. Digite assert_body e pressione Enter. Um nó Texto da resposta é adicionado entre Status HTTP e Fim, já ligado, com o campo Contém o texto pronto para digitar.
  4. Digite "status":"ok".
  5. Pressione Executar experimento.

A nova etapa passa. Mude o texto para algo que o corpo não contém e execute de novo para vê-la falhar com o motivo.

O que uma execução deixa ​

  • Um relatório. Quando uma execução termina, Relatório salvo aparece no título da linha do tempo; passe o ponteiro sobre ele para ver o arquivo. Uma execução que termina, aprovada ou com falha, grava um relatório na pasta runs da sua pasta de dados, com os valores que usou e todas as etapas. No navegador, ele é um link de download.
  • Uma semente. O título também mostra a semente da execução, com o botão Fixar: os valores aleatórios de uma execução seguem a semente dela, e fixá-la os repete exatamente.

Mais em Execuções e relatórios.

Arrumar a casa ​

Pressione Parar tudo no cabeçalho: isso para a API de demonstração e qualquer outra coisa que ainda esteja rodando. O seu sinal, o experimento e os relatórios dele ficam na sua pasta de dados.

Para onde ir agora ​

  • Conceitos: as ideias por trás das telas, sinais, tarefas, emuladores e experimentos.
  • Experimentos: o editor completo, e cada tipo de nó em Nós.
  • OSC, HTTP e as páginas dos outros protocolos, quando você apontar o Signal Lab para equipamentos reais.
  • A linha de comando: execute o mesmo experimento em um terminal ou em um pipeline.