Orbit

Orbit Build Insights e Delivery Insights

Orbit has two insight views: a per-project Build Insights tab that answers "why are our builds slow", and an account-wide Insights page that answers "how well are we shipping". This guide covers…

Orbit tem duas vistas de insights: um separador Build Insights por projeto que responde "por que razão os nossos builds são lentos", e uma página Insights à escala de conta que responde "com que eficácia estamos a entregar". Este guia cobre ambos e quando utilizar cada um.

Onde as Duas Vistas Residem

Build Insights é por projeto. Abra Orbit, clique no projeto, e escolha Build Insights no grupo Observability na fita de separadores do projeto.

Insights é à escala de conta. Abra Orbit e escolha Insights na navegação de nível superior, ao lado de Mission control e Usage.

Separador Build Insights para um projeto Orbit

Build Insights: Os Cartões de Resumo

O separador descreve-se a si mesmo como percentis de duração de build, taxa de acerto de cache, taxa de sucesso e tendência na sua janela selecionada, e a janela é ajustável no topo da página.

CartãoO que lhe diz
Total de buildsQuantos builds foram executados, divididos em bem-sucedidos e falhados
Taxa de sucessoClassificada como Healthy, OK ou Needs attention
Duração de build p50O build mediano, com p95 e p99 abaixo
Taxa de acerto de cacheAcertos contra falhas
Poupança de cacheTempo de computação que a cache poupou

O emparelhamento de p50 com p95 e p99 é o ponto. Um p50 de 90 segundos com um p99 de 95 segundos é um build bem comportado. Um p50 de 90 segundos com um p99 de onze minutos significa que algo ocasionalmente corre muito mal, e a média teria ocultado completamente.

Se a janela não tiver builds nela, a página avisa e sugere escolher uma janela maior se os seus deploys forem mais antigos.

Tendência de Volume e Duração de Build

O gráfico de tendência traça as contagens diárias de build na janela com uma sobreposição de duração média. Pairar sobre um dia fornece a contagem, a divisão bem-sucedida e falhada, e a média.

Leia as duas séries em conjunto. Volume acima com duração plana é uma equipa saudável que entrega mais. Volume plano com duração a subir é um build que está silenciosamente a deteriorar-se, normalmente através do crescimento de dependências ou uma cache que deixou de funcionar.

Frameworks e Gestores de Pacotes

Duas decomposições ficam abaixo da tendência:

  • Por framework, agrupando builds bem-sucedidos pelo framework que Orbit detetou.
  • Gestores de pacotes, em todos os builds.

Num projeto de uma única aplicação estas são uma linha cada uma e não muito interessantes. Num monorepo ou numa conta com vários projetos é como identifica o outlier: uma aplicação num gestor de pacotes diferente, ou um framework que está a arrastar a média.

A deteção de framework é o que impulsiona as definições padrão de build do Orbit também: veja Frameworks Orbit Supports.

Builds Mais Lentos

A tabela Slowest 10 successful builds lista os seus piores desempenhos com o seu ramo, duração e tempo em fila, descrito na página como candidatos de ancoragem para otimização.

Note a coluna Queued especificamente. Um build que demorou oito minutos dos quais seis foram gastos em fila não é um build lento, é um anfitrião de build ocupado, e nenhuma quantidade de otimização do seu npm ci ajudará. Um build que demorou oito minutos sem tempo em fila é genuinamente lento e vale a pena atacar.

Ataque a fase de instalação do build mais lento antes da sua fase de build. A instalação é onde uma cache quente compensa, e é normalmente a vitória mais fácil. Configuring Your Build Command and Output Directory cobre as definições envolvidas.

Poupança de Cache

O separador quantifica o que a cache de build poupou em tempo de computação na janela. Esse número é o argumento para manter a cache saudável.

Se a taxa de acerto de cache é baixa, as causas usuais são:

  • Um ficheiro de bloqueio que muda em cada commit, invalidando a cache cada vez.
  • Builds que foram deliberadamente limpos e não aqueceram novamente.
  • Lacunas longas entre deploys.

Limpar a cache repõe isto, o que vale a pena lembrar antes de a limpar por hábito enquanto depura.

Delivery Insights: Métricas DORA

A página Insights à escala de conta cobre os últimos 30 dias em cada projeto, e apresenta os números como métricas DORA com uma banda de desempenho de Elite, High, Medium ou Low, além de uma comparação contra os 30 dias anteriores.

MétricaDefinição na página
Deploy frequencyCom que frequência faz deploy, todos os ambientes, todos os projetos
Lead time (P50)Commit em fila para em produção, com P95 ao lado
Change failure rateDeploys de produção que falharam
MTTR (mediana)Falha para o próximo sucesso de produção

Estes quatro estão deliberadamente em tensão. Pode fazer a taxa de falha de mudança parecer perfeita ao fazer deploy uma vez por mês, e pode fazer a frequência de deploy parecer excelente ao entregar constantemente e quebrar coisas. O conjunto é apenas significativo quando lido em conjunto, e a tendência contra os 30 dias anteriores importa mais do que a banda absoluta.

Decomposição de Projeto

Abaixo das métricas está uma tabela de cada projeto nos mesmos 30 dias: deploys, sucessos, falhas e tempo de build médio.

Esta é a forma mais rápida de encontrar o projeto que está a arrastar a conta: o que tem uma taxa de sucesso baixa, ou aquele cujo build médio é várias vezes o de todos os outros. Abra o seu separador Build Insights a seguir para o detalhe.

Se não houver dados de forma alguma, a página avisa e solicita-lhe que faça push para um ramo para começar.

Qual Vista Abrir

  • Um build é lento. Build Insights, no projeto. Veja p50 contra p95, depois espera em fila, depois a tabela de builds mais lentos.
  • Os builds continuam a falhar. Build Insights para a taxa, depois o separador Analytics da classificação de causa de falha: veja Orbit Project Analytics.
  • Alguém pergunta como a equipa está a entregar. Insights, à escala de conta. As quatro métricas DORA com as suas setas de tendência respondem diretamente a essa pergunta.
  • Está a escolher no que trabalhar em seguida. Insights primeiro para encontrar o projeto, Build Insights segundo para encontrar a causa.

Resolução de Problemas

A página está vazia mas sei que fazemos deploy. Alargue a janela. Build Insights predefinido para uma janela mais curta do que pode esperar, e a página à escala de conta é fixa em 30 dias.

Taxa de acerto de cache é zero. Ou a cache foi recentemente limpa, ou o seu plano não inclui cache de build. Veja Orbit Plan Limits.

Lead time parece enorme. O lead time é medido do commit para em produção, portanto um ramo de longa duração que foi fundido semanas após o seu primeiro commit inflaciona-o. Isto é informação real, não um bug: está a dizer-lhe que o trabalho está sem ser fundido.

MTTR está em branco. Não houve falhas de produção na janela, portanto não há nada de que recuperar. Esse é o caso bom.

Para Onde Ir a Seguir

Ainda precisa de ajuda?

Envie-nos um email para support@kapsulehost.com ou abra um chat no KPanel.

Abrir KPanel
Orbit Build Insights e Delivery Insights