Pular para o conteúdo

Secção Cenários

A secção Cenários é onde compõe e opera os seus cenários. No lateral tem a lista de cenários; no centro, quatro vistas do cenário ativo.

  • Novo cenário abre o editor: nome + os micros que o compõem.
  • Editar (barra superior) volta a esse editor para mudar a sua composição.
  • Eliminar (menu do item no lateral) apaga o cenário; pede confirmação.
  • Cartões — um cartão por micro com o seu estado, porta e modo (comutador nativo/contentor).
  • Tabela — a mesma informação em linhas: estado, início, endpoints e modo. Os comutadores e ligações de cada linha ficam inline.
  • Grafo — o grafo de chamadas quem-chama-quem, com a cor de cada aresta conforme a sua resolução (local, cloud ou mock). Pode-se aproximar, afastar e ajustar à vista.

As três oferecem o mesmo menu de ações sobre um micro: abre-se com o «⋮» do cartão ou da linha, e com o clique direito em qualquer uma das três (no grafo, sobre o nó). Leva abrir a configuração, ver os logs desse micro, reiniciá-lo só a ele com o cenário em marcha, abrir cada endpoint publicado (API, Swagger, health), abrir a pasta do seu repositório e copiar o comando efetivo com que se inicia.

  • Dependências — o seletor local/cloud/mock por dependência, com o aviso de «requer ligação» se algo apontar para a cloud. Ver Dependências.

A partir da barra superior:

  • ▶ Iniciar / ■ Parar — um único botão que arranca ou para conforme o estado. Arranca a infra, resolve portas, reescreve URLs e inicia cada micro; ao parar, detém micros, contentores e infra.
  • Limpar — termina processos nativos órfãos e elimina os contentores aseptic-* residuais. Útil se algo ficou pendurado.
  • Popular dados (menu do cenário no painel lateral, com o cenário em execução) — executa os passos post-migrate dos seus micros (por exemplo, um seed) após a primeira migração. Só aparece se algum micro os declarar.

Depurar (menu de ações do micro, em qualquer uma das três vistas) faz com que arranque com o depurador aberto em 127.0.0.1; se o cenário estiver em execução, reinicia só esse micro. Fica guardado no cenário, como o modo, e não viaja ao exportar nem ao publicar no catálogo da equipa.

  • Spring Boot e Quarkus — JDWP, numa porta própria que é remapeada se estiver ocupada (5005 por omissão).
  • Node — o inspector, no processo que serve a app e não no npm (9229 por omissão).
  • .NET — liga-se por PID: o do processo que escuta na porta do micro.
  • Python — debugpy (5678 por omissão): o micro arranca através dele, por isso o comando tem de começar por python ou por um servidor que também se lança como módulo (uvicorn, flask, gunicorn, fastapi, hypercorn). O debugpy instala-lo tu no .venv do repositório (pip install debugpy).
  • Go — Delve (2345 por omissão), com um comando go run <pacote>: compila sem otimizações para que se vejam as variáveis, e o binário vai para a pasta temporária, não para o repositório. O Delve instala-lo tu (go install github.com/go-delve/delve/cmd/dlv@latest).

Se faltar o debugpy ou o Delve, ou se o comando não tiver uma dessas formas, Depurar di-lo em vez de se ativar, e a verificação do cenário avisa com o comando para o instalar.

Só em modo nativo. O cartão mostra a porta (ou o PID) do depurador, e Copiar configuração do depurador deixa na área de transferência a entrada para o launch.json do VS Code. No terminal: aseptic debug <micro> on|off; sem argumento diz como ligar-se, também a partir do IntelliJ.

Cada vez que inicia um cenário fica guardada uma execução até o parar: quando foi, quanto durou, como acabou (correta, com micros caídos ou nunca chegou a arrancar), o último estado de cada micro com os seus erros e as chamadas que os mocks atenderam. Histórico de execuções (menu do cenário no painel lateral) mostra-as com os seus logs, filtráveis por micro e por erros: é o que se deve ver quando «ontem funcionava» e já nada está a correr.

Guardam-se as 20 últimas; Fixar uma evita que seja apagada. No terminal: aseptic runs, aseptic runs logs <id>.

O resumo de saúde do cenário (sem incidências / a iniciar / com erros) está na barra superior e abre o separador Estado do dock. Cada micro passa pelos estados Stopped → Starting → Healthy (ou Unhealthy / Crashed). Ver Estados de um micro.

Exportar/importar um cenário completo faz-se a partir do menu lateral. Ver Partilhar um cenário.