# O registro da execução

> O que uma execução aberta mostra: a faixa de verbos acima dela, o cabeçalho com o seu estado, os metadados gravados no Início e os dois atores, o aviso de intertravamento, o gráfico de datalog, os critérios julgados e os episódios de ocorrência.

Selecionar uma execução abre o registro dela na metade direita do navegador: uma faixa de verbos que
fica parada enquanto o registro rola, depois o cabeçalho, o gráfico de datalog, os critérios
julgados, os dossiês **Relatório** e **Etiquetas** ([Etiquetas e
relatórios](histories-documents)), o dossiê **Linhas no banco de dados** numa execução que
gravou num banco de dados, as ocorrências, e os comentários e as anotações
([Comentários e anotações](histories-notes)). Sem nada selecionado o painel diz "Selecione uma
execução para revisar o datalog, o veredito, os critérios julgados, as etiquetas e as ocorrências
dela."

## A faixa {#the-strip}

Os verbos agem sobre a execução aberta, então eles ficam no registro e não na barra da própria
página. As cópias portáteis vêm primeiro, depois os documentos gerados, depois o verbo de perigo. Um
papel que não carrega o que um verbo exige não vê aquele verbo de jeito nenhum: a faixa tem o
tamanho do que o papel autenticado pode fazer. Um verbo que a situação recusa fica onde está, cinza,
e a sua dica diz o que falta ("Escolha primeiro uma execução.", "Esta execução ainda está gravando.
Termine-a primeiro.", "Outro comando de execução ainda está rodando.").

| Comando | O que faz | Fica cinza quando (situação) | Exige (sem isso não é desenhado) |
| --- | --- | --- | --- |
| Exportar CSV | Baixa o datalog bruto em CSV. | Outro verbo da faixa ainda está correndo. | Exportar/importar históricos |
| Exportar XLSX | Baixa a identidade da execução, os metadados e o datalog tipado como uma pasta de trabalho do Excel. | O mesmo. | Exportar/importar históricos |
| Exportar GLAB | Baixa a execução inteira como um arquivo `.glab` portátil. | O estado da execução não é Concluída, Abortada nem Falhou. | Exportar/importar históricos |
| Gerar PDF, com **Relatório usado pelo Gerar PDF** | Compõe o PDF da execução com o layout escolhido ("(relatório do procedimento)" ou qualquer layout da biblioteca) e o abre. | A execução ainda está Executando ou Pausada. | Exportar/importar históricos |
| Nova etiqueta, com **Etiqueta usada pelo Nova etiqueta** | Grava um artefato de etiqueta novo a partir de uma das etiquetas que o procedimento da execução configura, na seção Etiquetas da execução, e não envia nada. | Nenhuma etiqueta está configurada ("O procedimento desta execução não configura nenhuma etiqueta."), o modelo de documento da etiqueta escolhida sumiu ou está vazio, a estação está somente para leitura. | Ver históricos, Executar procedimentos |
| Excluir | Exclui a execução e o arquivo dela depois de uma confirmação. | A execução está Executando, Pausada ou Salvando; a estação está somente para leitura. | Gerenciar os históricos |

O que cada exportação contém, e onde o PDF abre, é [Exportar uma execução](histories-export); o
seletor de etiqueta é descrito junto com o dossiê de Etiquetas.

## O cabeçalho {#the-header}

O nome da execução, uma linha de estado ("Visualizando · nome"; "Executando · nome (snapshot
pendente)" para uma execução que ainda não gravou nada; "Sem dados · nome" para uma execução
terminada cujo arquivo não tem linha nenhuma), os metadados que a execução gravou no Início, e os
dois atores.

Os metadados são um par por campo que a execução gravou no Início, na ordem dos prompts e com o
nome que o campo tinha quando a execução começou: o número de série, o lote e todo outro campo,
lidos do arquivo da execução, então um campo renomeado ou removido depois não muda nada aqui.
Um campo **Número** aparece no formato de número da estação ([Idioma e
formatos](settings-localization)), com as casas que o operador digitou: `12.50` guarda as suas duas
casas e aparece como `12,50` numa estação que escreve os decimais com vírgula.
Ele nunca ganha separador de milhar: um lote ou um número de peça gravado como número é um
identificador, não uma quantidade, então `1024` aparece como `1024` em qualquer estação. Todo outro
valor, inclusive um identificador sequencial, aparece exatamente como foi gravado, e um campo que o
operador deixou vazio no Início mostra a marca de lacuna. Um nome ou um texto longo demais para a
coluna é cortado com reticências e lido inteiro na sua dica; um número nunca é cortado. Uma execução
que não gravou metadado nenhum, como um snapshot ou uma avaliação, não mostra nenhum.

Os dois atores:

- **Iniciada por** vem do índice de execuções, então está presente em toda execução, mesmo numa que
  ainda grava: o nome do operador como era na época, Estação, Automação ou Agente.
- **Parada por** vive apenas no arquivo congelado da execução. Ela diz **Ainda gravando**
  enquanto a execução está ativa, nomeia quem pediu a parada ou o aborto, ou explica um fim que
  ninguém pediu: **Intertravamento**, **Ninguém (a execução falhou)** ou **Ninguém (terminou
  sozinha)** para uma janela que se esgotou, uma execução instantânea ou um comando único.

Quando a execução foi pausada, **Pausada por** e **Retomada por** aparecem entre as duas: quem
fez a última pausa e a última retomada, com o momento, nomeados do mesmo jeito (o nome do
operador como era na época, Estação, Automação ou Agente). Uma execução nunca pausada não
mostra nenhuma delas.

Uma execução importada acrescenta `Importada <quando> · de <arquivo>`. Os chips repetem as marcas
Automação e Importada, mostram **Gravando** enquanto a execução está ativa, e o distintivo de
veredito quando ela não está mais. Uma execução encerrada pelo intertravamento de parada da unidade
carrega o aviso **Encerrada pelo intertravamento**: "Esta execução continua Abortada com o veredito
NOK. O motivo do término registra que o sinal de parada externa desta unidade a encerrou."

Uma execução que quebrou dentro da estação carrega o aviso **Encerrada por uma falha**: uma frase
que diz o passo que quebrou, seguida de "O diário da estação guarda o detalhe técnico." A frase é
uma destas, na língua da estação; o erro em si é escrito só no diário.

| Frase | Quando |
| --- | --- |
| Não foi possível gravar o arquivo de execução, e a gravação parou. | O arquivo de execução recusou uma linha que a execução gravou. |
| A amostragem parou por um erro ao ler ou julgar uma linha. | A amostragem quebrou ao tomar ou julgar uma linha. |
| O progresso da execução não pôde ser salvo no histórico da estação, e a gravação parou. | A gravação periódica que marca a execução como viva no histórico falhou. |
| A receita parou por um erro interno. | O motor que envia os setpoints da receita quebrou. |
| A contagem de tempo dos ciclos da execução parou por um erro interno. | O relógio que conta os ciclos de uma execução com janela de tempo e sem receita quebrou. |
| A execução falhou enquanto era iniciada. | Algo quebrou depois que a execução foi criada e antes de ela começar a gravar. |
| Não foi possível retomar a execução depois que a estação reiniciou. | Depois de um reinício a execução não pôde ser retomada: o arquivo, o procedimento ou a unidade dela não foram alcançados, ou uma execução mais antiga já ocupava a unidade. |
| A estação fechou enquanto a execução era salva. | A estação parou enquanto o fim da execução era gravado. |
| Não foi possível salvar o fim da execução. | Salvar o fim da execução, ou fechar o arquivo dela, falhou. |

Uma execução que falhou numa versão anterior, ou cuja entrada no histórico foi reconstruída a partir
do arquivo, mostra Falhou sem aviso. Uma execução parada ou abortada, e uma encerrada pelo
intertravamento, nunca o carregam.

## O gráfico de datalog {#the-datalog-chart}

O registro plota os canais gravados da execução ali mesmo, num eixo de segundos relativos à primeira
amostra, cada série na cor congelada com a execução e rotulada pelo nome que o canal carregava na
unidade. As faixas empilhadas também são congeladas com a execução, então o registro e o relatório
desenham a figura que a estação estava mostrando mesmo depois de o modelo ser reagrupado: uma régua
por faixa, ao longo do eixo de tempo único. As anotações são desenhadas como marcadores
proeminentes, e os comentários carimbados durante a execução como marcadores discretos. As faixas de
intervalo aprovado da avaliação do procedimento são resolvidas de novo a partir da configuração
atual cada vez que a execução é aberta, porque o arquivo da execução carrega os limites apenas como
texto de exibição: uma avaliação excluída as retira, e um limite relativo não é desenhado. O gráfico
carrega a barra de ferramentas compartilhada ([Gráficos](view-charts)), inclusive o botão que abre o
mesmo gráfico numa janela própria (`/chart/run/<id>`), a qual recarrega a execução do arquivo dela e
sincroniza o seu zoom com o gráfico embutido; essa janela é somente leitura e exige a mesma
permissão do navegador.

## Critérios julgados {#judged-criteria}

Quando o procedimento da execução julgou critérios, o registro lista uma linha por janela julgada:

| Coluna | Conteúdo |
| --- | --- |
| Ciclo | O ciclo em que o critério foi julgado, começando em 1. |
| Critério | O nome do critério como estava configurado quando a execução gravou. |
| Canal | O canal que ele vigiou. |
| Limites | O intervalo aprovado, como texto de exibição congelado na execução. |
| Severidade | Como o critério foi configurado para pesar no veredito. |
| Resultado | OK, NOK ou Indeterminada para esta janela. |
| Evidência | O trecho julgado e depois os quatro contadores de amostras: "n avaliadas · n fora · n indisponíveis · n inválidas". O trecho é "Execução inteira", "Ciclo N" numa execução cíclica, "2 s a 10 s" ou "2 s até o fim" para uma janela de tempo, "Segmento 3" ou "Segmento 3, após 5 s" para um segmento e a sua estabilização, "Ciclo N, 2 s a 10 s" dentro de um ciclo; um critério Um ponto acrescenta "última amostra" ("Execução inteira, última amostra"), e os seus contadores são só os dessa amostra. Uma execução gravada por uma versão anterior mostra só os contadores. |
| Afetado | Os canais cujas amostras indisponíveis ou inválidas enfraqueceram a evidência, ou a marca de lacuna quando a evidência estava completa. |
| Pior | A maior distância além de um limite entre as amostras contadas, escrita com três casas decimais, ou com mais quando três a escreveriam como zero: 0 quando houve amostras avaliadas e nenhuma saiu, vazio quando nada foi avaliado. Uma execução gravada por uma versão anterior o deixa vazio onde nada saiu. |
| Observação | Por que o resultado é indeterminado, quando é. |

## Ocorrências {#occurrences}

Quando a execução observou ocorrências, o registro deriva **episódios**, uma linha por ativação em
vez de uma por transição bruta:

| Coluna | Conteúdo |
| --- | --- |
| Ocorrência | O nome da ocorrência. |
| Severidade | Crítica, Aviso ou Informação, como congelada na observação. |
| Início | Quando o episódio começou, ou "Desconhecido". |
| Fim / estado | Quando e como ele terminou ("Encerrado"), ou a situação em aberto: "Ativo · ao vivo", "Ativo no fim da execução", "Interrompido", "Incompleto", "Inconsistente". |
| Tempo ativo | Quanto tempo a condição se manteve, com "· ao vivo" enquanto ela ainda se mantém e "· observado" quando o fim da execução a limitou. |
| Sinal indisponível | Quanto tempo o sinal vigiado ficou ilegível durante o episódio ("Nenhum" quando nunca ficou, "· parcial" quando a perda não pôde ser medida por inteiro). |
| Mensagem | A mensagem congelada com a ocorrência. |

Abaixo dos episódios, uma seção recolhível **Linha do tempo técnica** (o resumo dela conta os eventos e as sessões de observação) lista toda aresta bruta gravada (Ativada, Encerrada,
Indisponível, Restaurada) e toda fronteira de sessão de observação, com a ocorrência, a severidade,
a transição, o instante e a mensagem. Uma linha de fronteira explica por que uma sessão de
observação nova começou: depois de a execução ser retomada, depois de o vigia reiniciar, depois de a
definição mudar. Uma linha de fronteira é desenhada antes de cada sessão de observação de uma
ocorrência depois da primeira; a primeira sessão não tem.

Enquanto a execução selecionada ainda grava, a evidência de ocorrência dela fica ao vivo: os
relógios avançam a cada segundo, e a evidência e a linha de índice da execução são relidas a cada
dois segundos, então o estado terminal aparece sem que você precise acionar Atualizar.

## O que o registro não faz {#what-the-record-does-not-do}

Ele não mostra as linhas gravadas como tabela: o datalog é lido no gráfico ou numa exportação CSV ou
XLSX. Ele não julga nada de novo: os critérios são os resultados congelados da execução, e as faixas
no gráfico são contexto da configuração de hoje, nunca um veredito. E ele não edita nada da execução
além das notas, das anotações e dos documentos dela.
