2012-02-15 8 views
20

Abbiamo scritto un framework per testare le prestazioni della nostra applicazione Java (nessuno dei framework esistenti, ad esempio JMeter, era appropriato). Il framework produce varie metriche, ad es. media/min/max transazioni al secondo.Come visualizzare i risultati dei test delle prestazioni su Jenkins

Ci piacerebbe che ogni build di Jenkins mostrasse queste metriche in modo che possiamo tenere traccia di se un commit ha migliorato le prestazioni o meno.

Non riesco a capire come farlo.

Un'idea è modificare il nostro framework di test delle prestazioni per generare un file HTML, quindi in qualche modo rendere Jenkins display/link ad esso nella pagina dei risultati di compilazione.

Qualsiasi consiglio ricevuto con gratitudine.

+0

Il miglior trucco veloce è di scaricare html nella descrizione del lavoro e utilizzare i collegamenti relativi all'ultimo build ecc. E.g. con il plugin delle prestazioni '' – KCD

risposta

7

Sono d'accordo che è difficile (se non impossibile) spremere tutte le informazioni in formati standard, come JUnit. Sono utili per l'identificazione rapida dei problemi. Una volta che sai che c'è un problema, hai bisogno di più informazioni che di solito sono in forma libera o formattate su misura per soddisfare le tue particolari esigenze. Quindi usiamo entrambi: JUnit che può essere immediatamente elaborato da Jenkins per decidere se la build è stabile o meno, disegnare il grafico di tendenza, ecc. Produciamo anche un report HTML che è molto più dettagliato.

Ora alla tua domanda immediata: si può semplicemente archiviare il file HTML come un artefatto (c'è un post-generazione passo standard per farlo). Quindi un collegamento ad esso verrà visualizzato tra gli artefatti per la build. Ci sono permalink ai più recenti e gli ultimi manufatti di successo manufatti di build:

http://[server]/job/[job_name]/lastCompletedBuild/artifact/foo.html 
http://[server]/job/[job_name]/lastSuccessfulBuild/artifact/foo.html 

Si può bookmark tali legami e avere un rapido e con un solo clic facile accesso ai tuoi risultati.

+0

Questo non ti darà un confronto reale tra build diverse ma piuttosto il rapporto immediato. Per comprendere veramente i cambiamenti del test delle prestazioni tra le build, è necessario creare i dati da qualche parte, ad es. in DB. –

+0

@ ŁukaszRżanek: certo, ma è così che ho capito la domanda: l'HTML è su misura. –

+0

Quindi sarebbe facile analizzare il risultato - credo che un autore di quei file HTML li conosca piuttosto bene. –

13

Peformance Plugin può mostrare i risultati del test JMeter e JUnit nel modo grafico. E nella pagina del plugin c'è una descrizione su come usarlo.

Questo è un plug-in open source ospitato su GitHub. Il parser JUnit e JMeter sono già lì, ma è possibile implementare il proprio solo sottoclasse PerformanceReportParser. È piuttosto semplice e puoi semplicemente inserire il repository e iniziare la tua implementazione.

+0

Se usassimo JUnit o JMeter per eseguire i nostri test, quel plugin sarebbe utile. Ma i nostri test delle prestazioni sono interamente sviluppati in casa, quindi non credo che il plugin ci aiuterà. –

+2

Sì, ma è open source. Basta modificare il plug-in in base alle proprie esigenze! –

+0

qualsiasi esempio di implementazione? piacerebbe avere input aggiuntivi oltre ai parametri Jmeter? – Njax3SmmM2x2a0Zf7Hpd

6

È possibile utilizzare HTML Publisher Plugin per pubblicare la pagina HTML risultante. Sarebbe piuttosto semplice.

Se si desidera un'integrazione migliore, è possibile provare a creare un output che segua lo stesso formato prodotto da JMeter e utilizzare il plug-in delle prestazioni.

Per il miglior risultato si potrebbe prendere consigli Łukasz e modificare il plugin prestazioni alle vostre esigenze. Ciò richiede il massimo sforzo da parte tua, ovviamente.