Pular para o conteúdo

Monitorar execuções de pipeline

Esta página cobre tudo o que acontece depois que uma execução começa: encontrá-la, ler o que cada etapa fez e fazer uma execução com falha voltar a andar. Para iniciar uma, consulte Executar um pipeline manualmente.

  1. Clique em Pipelines na barra lateral do espaço de trabalho. A tela é a fila de execuções do espaço de trabalho — todas as execuções, da mais recente para a mais antiga.
  2. Use a coluna à esquerda para filtrar. São exatamente três filtros, cada um com uma contagem ao vivo: Todos, Running, Failed.
  3. Percorra a tabela com ↑/↓ (ou j/k) e pressione Enter para abrir a execução em foco. Clicar em uma linha faz o mesmo.

Cada linha mostra um glifo de como a execução começou (play para a execução manual; um glifo de arquivo para uma vigilância do grafo de código; caso contrário, o gatilho automático). A dica de ferramenta nomeia o gatilho — Manual, PR publicada, Alteração de ficheiro, e assim por diante — e, em uma execução de vigilância, quais arquivos mudaram. Depois vêm o nome do pipeline, um selo de status, a duração ativa (ou a posição na fila, no caso de uma execução queued) e há quanto tempo esta tentativa começou. A duração ativa exclui os intervalos ociosos de parada e reinício, portanto não é o tempo decorrido no relógio.

Não há filtro para execuções concluídas, suspensas ou canceladas, nem filtro por modelo, nem janela de tempo, nem visão de histórico de execuções por modelo. Comparar execuções de um mesmo modelo significa percorrer a fila procurando o nome dele.

A página de uma execução tem três partes empilhadas.

A faixa de metadados traz o horário de início, a duração ativa, o progresso das etapas (“3 de 7 etapas”), um resumo da falha nomeando a etapa que quebrou e por quê, e as ações Tentar novamente e Excluir.

A cascata de tempos dá uma barra por etapa, com a duração dela e — em etapas de agente — o custo em centavos. Uma etapa que passou por uma nova tentativa mostra um sufixo ×N depois da duração; esse sufixo é o único lugar onde o número de tentativas aparece.

O canvas do grafo desenha o modelo com o status ao vivo de cada nó. Selecionar um nó abre o painel de etapa dele.

Status Significado
Pending Criada, ainda não iniciada
Na fila Admitida mas retida: o limite de execuções paralelas deste modelo está cheio; ainda não há linhas de etapa
Running Em execução
Suspended Aguardando algo externo — normal, não travada
Completed Terminada com sucesso
Failed Terminada com um erro
Cancelled Interrompida por um usuário ou pelo sistema

As etapas têm esses status menos Na fila, mais Skipped, para um ramo que um roteador não seguiu (e seus descendentes, agora inalcançáveis).

Suspended é onde uma etapa de agente passa a maior parte da vida: um agente despachado ou um portão de aprovação segura a etapa até que o trabalho dele chegue. Duas salvaguardas do motor fazem a execução inteira falhar em vez de retomá-la: uma etapa suspensa por mais de 24 horas (extras.awaitApproval — o corpo orchestration.awaitApproval — está isenta; human.gate não) e uma etapa não idempotente que estava em andamento quando o servidor parou.

Selecione um nó no canvas. O painel de etapa mostra, em ordem:

  • Um destaque Erro quando a etapa falhou, ou um destaque Ignorado com o motivo quando ela foi ignorada.
  • Iniciado, Concluído e a duração.
  • Ramo — o índice do ramo, para ramos paralelos.
  • Ver conversa — salta para a conversa em que a etapa foi executada. As conversas de pipeline ficam ocultas na barra lateral, então este é o único caminho para entrar.
  • Entrada e Saída, como JSON recolhível.
  • Atividade do agente — um cartão por execução de agente que a etapa despachou, com status, resumo, duração e custo.

Para uma etapa de agente, a Saída é o payload estruturado que o agente enviou com submit_output, e não o texto dele. O rastro de raciocínio fica em Atividade do agente e na conversa por trás de Ver conversa.

Para uma etapa bash, a Saída é o stdout aparado que o script gravou ao sair com código 0. Uma saída diferente de zero faz a etapa falhar, com o trecho final do stderr como mensagem de erro.

  1. Leia o resumo da falha na faixa de metadados; ele nomeia a etapa que falhou. O destaque Erro do painel de etapa traz a mensagem.
  2. Confira a Entrada da etapa — uma chave de estado ausente ou escrita errada é a causa mais comum. Uma etapa prompt-agent falha de imediato e nomeia os marcadores não resolvidos; uma etapa bash os renderiza como strings vazias e executa assim mesmo, o que costuma aparecer uma etapa depois.
  3. Para uma etapa de agente, abra Ver conversa e leia o que o agente de fato fez.
  4. Pressione Tentar novamente na faixa de metadados. Etapas concluídas e ignoradas mantêm suas saídas; todo o resto é excluído e executado de novo, e a execução volta ao status Running. O relógio de duração reinicia nesta tentativa.

Causas comuns que vale conferir primeiro:

  • Tempo limite — a etapa excedeu o Tempo limite (ms). Lembre que o campo está em milissegundos.
  • Erro de script — o comando bash saiu com código diferente de zero, ou bash não está no PATH do host do servidor.
  • Validação de esquema — o payload submit_output do agente não satisfez o esquema de saída da etapa.
  • Marcador não resolvido — um {{key}} referenciado por uma etapa prompt-agent nunca foi gravado a montante. O erro nomeia todas as chaves não resolvidas.
  • Corpo não registrado — uma etapa cuja chave de corpo não está registrada avisa no carregamento do modelo e depois simplesmente nunca é executada.

Selecione a etapa em execução e pressione o botão Encerrar em execução no cabeçalho do painel de etapa. Isso mata o processo da etapa, marca a etapa como falha e, com isso, faz a execução inteira falhar — cada ramo irmão aberto é encerrado junto com ela.

Não há controle de cancelar execução nesta tela. pipeline.cancel existe como operação RPC e o motor a implementa, mas nada na interface de pipelines a chama; Encerrar em execução em uma etapa, ou Excluir na execução, são os únicos gestos de parada disponíveis.

O custo é informado por etapa, na coluna da direita da cascata e em cada cartão abaixo de Atividade do agente. Não há total da execução na página de detalhe nem coluna de custo na fila de execuções, então comparar o custo de duas execuções significa somar as etapas delas.