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 ha due viste di insight: una scheda Build Insights per progetto che risponde a "perché i nostri build sono lenti", e una pagina Insights a livello di account che risponde a "quanto bene stiamo spedendo". Questa guida copre entrambe e quando usare quale.

Dove si trovano le due viste

Build Insights è per progetto. Apri Orbit, fai clic sul progetto e scegli Build Insights sotto il gruppo Observability nella striscia di schede del progetto.

Insights è a livello di account. Apri Orbit e scegli Insights dalla navigazione di primo livello, accanto a Mission control e Usage.

Scheda Build Insights per un progetto Orbit

Build Insights: Le schede di riepilogo

La scheda si descrive come percentili della durata della build, velocità di hit della cache, velocità di successo e trend sulla finestra selezionata, e la finestra è regolabile in cima alla pagina.

SchedaCosa ti dice
Build totaliQuanti build sono stati eseguiti, divisi in riusciti e falliti
Velocità di successoValutata come Healthy, OK o Needs attention
Build duration p50La build mediana, con p95 e p99 sottostanti
Cache hit rateHit rispetto a miss
Cache savingsTempo di calcolo risparmiato dalla cache

L'accoppiamento di p50 con p95 e p99 è il punto. Un p50 di 90 secondi con un p99 di 95 secondi è una build ben comportata. Un p50 di 90 secondi con un p99 di undici minuti significa che qualcosa occasionalmente va molto male, e la media avrebbe nascosto completamente il problema.

Se la finestra non ha build in essa, la pagina lo dice e suggerisce di selezionare una finestra più grande se i tuoi deploy sono più vecchi.

Trend del volume e della durata della build

Il grafico di trend traccia i conteggi delle build giornaliere nella finestra con un overlay di durata media. Passando il mouse su un giorno vengono forniti il conteggio, la divisione di riusciti e falliti, e la media.

Leggi le due serie insieme. Volume in aumento con durata piatta è un team sano che spedisce di più. Volume piatto con durata in aumento è una build che si sta deteriorando silenziosamente, di solito attraverso la crescita delle dipendenze o una cache che ha smesso di funzionare.

Framework e gestori di pacchetti

Due analisi si trovano sotto il trend:

  • By framework, raggruppando le build riuscite per il framework rilevato da Orbit.
  • Package managers, su tutte le build.

Su un progetto a app singola si tratta di una riga ciascuna e non molto interessante. Su un monorepo o su un account con più progetti è il modo in cui identifichi l'outlier: un'app su un diverso gestore di pacchetti, o un framework che sta trascinando la media.

Il rilevamento del framework è ciò che guida anche le impostazioni di build predefinite di Orbit: vedi Frameworks Orbit Supports.

Build più lente

La tabella Slowest 10 successful builds elenca i tuoi peggiori esecutori con il loro branch, durata e tempo in coda, descritti sulla pagina come candidati di ancoraggio per l'ottimizzazione.

Nota la colonna Queued specificamente. Una build che ha impiegato otto minuti di cui sei sono stati spesi in coda non è una build lenta, è un host di build occupato, e nessuna quantità di ottimizzazione del tuo npm ci aiuterà. Una build che ha impiegato otto minuti senza tempo in coda è genuinamente lenta e vale la pena attaccarla.

Attacca la fase di installazione della build più lenta prima della sua fase di build. Install è dove una cache calda ripaga, ed è di solito la vittoria più facile. Configuring Your Build Command and Output Directory copre le impostazioni coinvolte.

Risparmio della cache

La scheda quantifica ciò che la cache di build ha risparmiato in tempo di calcolo sulla finestra. Quel numero è l'argomento per mantenere la cache sana.

Se la velocità di hit della cache è bassa, le cause solite sono:

  • Un lockfile che cambia ad ogni commit, invalidando la cache ogni volta.
  • Build che sono state cancellate deliberatamente e non si sono riscaldate di nuovo.
  • Lunghi intervalli tra i deploy.

Cancellare la cache reimposta questo, che vale la pena ricordare prima di cancellarla per abitudine durante il debug.

Delivery Insights: Metriche DORA

La pagina Insights a livello di account copre gli ultimi 30 giorni su ogni progetto e inquadra i numeri come metriche DORA con una banda di prestazioni di Elite, High, Medium o Low, più un confronto rispetto ai 30 giorni precedenti.

MetricaDefinizione sulla pagina
Deploy frequencyQuanto spesso esegui il deploy, tutti gli ambienti, tutti i progetti
Lead time (P50)Commit in coda fino al deploy, con P95 accanto
Change failure rateDeploy di produzione che non hanno avuto esito positivo
MTTR (mediana)Errore al prossimo successo di produzione

Questi quattro sono deliberatamente in tensione. Puoi far sembrare perfetto il change failure rate deployando una volta al mese, e puoi far sembrare eccellente la deploy frequency spedendo costantemente e rompendo le cose. L'insieme è significativo solo se letto insieme, e il trend rispetto ai 30 giorni precedenti conta più della banda assoluta.

Analisi del progetto

Sotto le metriche c'è una tabella di ogni progetto negli stessi 30 giorni: deploy, successi, fallimenti e tempo medio di build.

Questo è il modo più veloce per trovare il progetto che sta trascinando l'account: quello con una bassa velocità di successo, o quello il cui build medio è diverse volte quello di tutti gli altri. Apri la sua scheda Build Insights successivamente per i dettagli.

Se non ci sono dati affatto, la pagina lo dice e ti invita a effettuare il push a un branch per iniziare.

Quale vista aprire

  • Una build è lenta. Build Insights, sul progetto. Guarda p50 rispetto a p95, poi attesa in coda, poi la tabella delle build più lente.
  • I build continuano a fallire. Build Insights per la velocità, poi la classificazione delle cause di errore della scheda Analytics: vedi Orbit Project Analytics.
  • Qualcuno chiede come il team sta spedendo. Insights, a livello di account. Le quattro metriche DORA con le loro frecce di trend rispondono direttamente a quella domanda.
  • Stai scegliendo su cosa lavorare dopo. Insights per primo per trovare il progetto, Build Insights per secondo per trovare la causa.

Risoluzione dei problemi

La pagina è vuota ma so che facciamo il deploy. Allarga la finestra. Build Insights ha come impostazione predefinita una finestra più breve di quella che potresti aspettarti, e la pagina a livello di account è fissa a 30 giorni.

La velocità di hit della cache è zero. La cache è stata cancellata di recente, oppure il tuo piano non include la cache di build. Vedi Orbit Plan Limits.

Lead time sembra enorme. Lead time è misurato da commit a live, quindi un branch a lunga vita che è stato unito settimane dopo il suo primo commit lo gonfia. Questa è informazione reale, non un bug: ti sta dicendo che il lavoro è seduto unmerged.

MTTR è vuoto. Non ci sono stati errori di produzione nella finestra, quindi non c'è nulla da recuperare. Questo è il caso migliore.

Dove andare dopo

Hai ancora bisogno di aiuto?

Scrivici a support@kapsulehost.com oppure apri una chat in KPanel.

Apri KPanel
Orbit Build Insights e Delivery Insights