FlowsGuia

Depurando uma execução de flow

Quando um flow se comporta mal, você não lê logs num terminal: a execução é desenhada no próprio flow. Cada passo mostra o status e o tempo, o painel lateral guarda o que entrou e o que saiu, e algumas ferramentas levam direto à causa — a primeira falha, o passo lento, a única iteração de loop entre quinhentas que quebrou.

O que você vai aprender
  • Ler uma execução no canvas e na aba Execução
  • Rodar de novo só o que falhou com Tentar de novo a partir da falha
  • Achar passos lentos e esperas na Linha do tempo
  • Ir direto às iterações de loop com falha e testar um passo com entradas reais

A execução está no canvas

Clique em Executar Flow (ou escolha uma execução na aba Execuções) e o canvas passa a mostrar aquela execução: o cabeçalho diz Mostrando a execução, cada passo fica verde, vermelho, âmbar ou tracejado ao terminar, e a duração aparece no nó. O cabeçalho de um loop conta a própria história — 500 itens · 5 por vez, depois 498 ok · 2 com falha. Voltar a editar (ou Limpar execução) tira a execução do canvas para você voltar a editar.

A Linha do tempo: cada barra separa o tempo que o passo esperou por um worker e o tempo em que rodou; faixas sobrepostas rodaram juntas.

As cores significam a mesma coisa em todo lugar: vermelho falhou, âmbar falhou mas o flow seguiu (Continuar mesmo com erro), tracejado pulado ou não alcançado, uma marca de cache para um resultado reaproveitado do cache.

A aba Execução

A aba Execução do painel lateral é “a execução no canvas: dados, logs e linha do tempo.” No topo, uma barra de progresso conta 7 de 9 passos (ou parou em Fetch prices). Quando algo falhou, um aviso de erro fica acima de tudo: Falhou (ou Falhou · o flow seguiu), em Fetch prices, a mensagem, Copiar erro, e +2 outras falhas › quando há várias. Dentro de um loop ele acrescenta iteração 3 de 20 e Ir para a iteração com falha.

Dois botões iniciam uma nova execução a partir desta:

BotãoO que faz
Tentar de novo a partir da falhaUma nova execução com as mesmas entradas que reaproveita todo passo que já deu certo — só os que falharam rodam de novo, com o flow como está agora. Passos reaproveitados mostram Reaproveitado da execução repetida.
Rodar de novoUma nova execução do flow inteiro com as entradas desta.

O detalhe de um passo

Clique num passo do canvas da execução para abrir o detalhe: Dados (Entrada de Fetch prices e Saída), Bindings (de onde cada entrada tirou o valor), Logs (o que foi impresso, em ordem), Código (o código exato que esta execução rodou), além de Iterações num loop e Linha do tempo. Valores secretos aparecem como ••• (Valor secreto — não registrado). Um passo de script com falha pode ir para o assistente do flow com Corrigir com IA.

A Linha do tempo

A Linha do tempo mostra quando cada passo rodou e quanto esperou — da execução inteira, ou das iterações de um passo. Cada barra tem duas partes: esperou (na fila, esperando um worker livre) e executou. A duração do passo conta só a parte de execução, então um passo que esperou 2 s e rodou 40 ms mostra 40 ms, com uma marca separada esperou 2 s. Uma marca de inicialização a frio indica que um interpretador novo precisou iniciar antes de o código rodar — também fora da duração.

  • Faixas são concorrência real: barras lado a lado em faixas diferentes rodaram ao mesmo tempo (ramos em paralelo, um loop em paralelo). O rótulo diz faixa 2.
  • Um trecho Espera da nova tentativa é a pausa antes de outra tentativa de um passo com nova tentativa.
  • Uma parte esperou longa em muitos passos indica workers ocupados, não código lento — veja workers.

Iterações de loop

Um loop de quinhentos itens é um nó só, mas cada iteração é registrada. No canvas, o cabeçalho do loop tem a pílula Próxima falha · #37 · 1 de 2: clique para levar o corpo à próxima iteração com falha. A aba Iterações do loop é uma tabela — Item, Status, Duração — com Só com falha para ficar só com as quebradas e Mostrar todas para voltar; escolha uma linha para ver os passos daquela iteração no canvas.

Depurando enquanto edita

  1. Espie a última execução

    Selecione um passo no editor: se a última execução do flow chegou nele, aparecem dois chips abaixo dele, In e Out. Eles mostram o que o passo recebeu ou devolveu na última execução, sem sair do editor; num passo dentro de um loop, escolha a iteração. Abrir a execução mostra a execução inteira.

  2. Teste até aqui

    Passe o mouse num passo e clique no ▶ dele, ou clique com o botão direito e escolha Testar até aqui (“Rodar o flow e parar depois deste passo”). Tudo acima roda de verdade; nada abaixo roda — o jeito mais rápido de conferir a saída de um passo antes de montar o resto.

  3. Teste um passo com entradas reais

    A aba Rodar teste de um passo roda só aquele passo. Usar entradas da última execução preenche os valores de teste com o que o passo realmente recebeu da última vez — num passo dentro de um loop, o item e o índice reais de uma iteração.

A aba Execuções

Execuções lista todas as execuções deste flow, da mais nova para a mais antiga — do editor, de agendamentos, de chamadas de API, de gatilhos ou de outros flows. Escolha uma para vê-la no canvas. A página Execuções do projeto lista todos os flows e scripts juntos, com filtros, e mostra as execuções filhas de um flow dentro dele.

O que fica guardado

  • Um valor de passo acima de 64 KB é cortado na visão ao vivo (marcado como truncado) e carregado inteiro quando você abre.
  • Entradas secretas nunca são registradas; saídas são registradas como foram devolvidas — não devolva segredos.
  • Tentar de novo a partir da falha roda o flow como está agora: se você mudou um passo que já tinha dado certo, ele ainda é reaproveitado, não roda de novo.