Lavoro su un progetto Java di grandi dimensioni. Usiamo Maven come nostro strumento di costruzione e io uso Intellij (14) come IDE.Come monitorare e registrare il tempo di compilazione (compilazione/test)?
Attualmente, se costruisco l'intero progetto (circa 15 moduli) ci vogliono circa 3 minuti. A causa del modo in cui usiamo il nostro codice (anche in fase di sviluppo), finisco spesso per eseguire una compilazione completa. Sulla base del fatto che "ciò che viene misurato viene gestito", mi piacerebbe essere in grado di monitorare/registrare:
- Quante volte è stata eseguita una generazione/ora?
- Quanto tempo è stato dedicato all'esecuzione di build?
- Se fosse possibile, per rompere questo giù dal compito Maven - cioè pulito/compilazione/test/altri plugin, ecc
Un approccio potrebbe essere quello di avere l'output Maven scaricati in file, e poi hanno un processo per leggere questi/calcolare le statistiche che voglio. Come dovrei avvicinarmi a questo?
Giusto per essere chiari, non sto chiedendo commenti/consigli su come ridurre il nostro runtime del ciclo di generazione. Abbiamo già svolto un bel po 'di lavoro su questo aspetto e stiamo continuando a lavorarci su, anzi, sto davvero cercando un modo per monitorare i nostri progressi effettivi su questo.
se sei in una squadra che usa un sistema di controllo del codice sorgente, pensa di automatizzare i tuoi cicli di costruzione e usa qualcosa come [Jenkins] (https://jenkins-ci.org/) .. avresti avuto abbastanza pulito panoramiche su build-time, error-tracking e quant'altro? –
@definitamente - Grazie - questo è un suggerimento utile per monitorare i tempi di costruzione da un giorno all'altro nel tempo e, si spera, in un ambiente coerente. Tuttavia, ciò non tiene conto della frequenza con cui sto costruendo il progetto (o sottomoduli) nel mio lavoro di sviluppo quotidiano. Mi piacerebbe davvero essere in grado (obiettivamente) di dire che ho speso x minuti (o ore!) A fare build ogni giorno. (Ciò fornirebbe munizioni per argomentare a dedicare tempo a ridurre i tempi di costruzione ...) – amaidment
In Windows, [Performance Monitor] (https://technet.microsoft.com/en-us/magazine/2008.08.pulse.aspx#id0120047) dovrebbe essere in grado di raccogliere statistiche sulla durata di determinati processi. Potresti configurare dei contatori perfmon per i tuoi eseguibili di build/compile/test? –