Home > Java > Visual VM – Profiling della JVM durante l’esecuzione dei test Maven

Visual VM – Profiling della JVM durante l’esecuzione dei test Maven

Pochi semplici passi per eseguire questa configurazione.

Per cominciare, se non l’avete già fatto bisogna scaricare l’ultima versione di Visual VM http://visualvm.java.net ed installarlo (in Applications per gli utenti Mac OS X).

Proseguiamo avviando VisualVM e selezionando la voce di menu “Tools -> Plugins”.Qui è possibile installare il plugin “Startup Profiler”. Lo vedete selezionato nell’immagine seguente.

Visual VM - Plugins installation - Startup profiler

Visual VM – Plugins installation – Startup profiler

Continuare come al solito con avanti, avanti, avanti… e l’installazione è finita.

Ora abbiamo una nuova voce di menu “Applications -> Profile Startup” da selezionare.

Serve appunto per impostare la configurazione che permette a Visual VM di agganciarsi automaticamente all’avvio dei test Maven ed eseguire il profiling. Selezionando questa voce potremo accedere ad una finestra che ci permette di configurare il comportamento da eseguire allo startup.

Scegliamo la piattaforma da monitorare.

Poi la classe su cui far partire il profiling. Nel mio caso la classe con cui Maven esegue il fork dei test è org.apache.maven.surefire.booter.ForkedBooter che bisognerà impostare opportunamente il campo “Start profiling from classes”, lo vedete al punto 2.

Visual VM - Profile Startup - settings

Visual VM – Profile Startup – settings

 

Vi consiglio di continuare con l’editing del profilo (preset) con cui eseguire i test, nel’immagine è il preset “My Startup profiler”.

 

Startup profiler - plugin options

Startup profiler – plugin options

 

Finalmente possiamo far partire il profiler, ora prima di premere il pulsante “Profile” in fondo al pannello, dobbiamo salvarci il parametro di configurazione al punto 3.

 

Visual VM - Plugin Startup profiler - settings

Visual VM – Plugin Startup profiler – settings

 

Ci servirà per configurare i test maven e farli collegare al profiler. Ed ecco che il nostro Visual VM si mette in attesa della JVM da monitorare.

 

Visual VM - Connecting to the target

Visual VM – Connecting to the target

 

Abbiamo quasi finito, non disperate. Ora finalmente possiamo far partire i nostri test maven, e aggiungiamo il parametro che era al punto 3 del pannello per la configurazione del profiler:

-agentpath:/Applications/VisualVM.app/Contents/Resources/visualvm/profiler/lib/deployed/jdk16/mac/libprofilerinterface.jnilib=/Applications/VisualVM.app/Contents/Resources/visualvm/profiler/lib,5140

Qui nella versione completa:

mvn -Dmaven.surefire.debug="-agentpath:/Applications/VisualVM.app/Contents/Resources/visualvm/profiler/lib/deployed/jdk16/mac/libprofilerinterface.jnilib=/Applications/VisualVM.app/Contents/Resources/visualvm/profiler/lib,5140" test

Appena eseguito comando mvn è possibile vedere che Visual VM inizia subito a raccogliere le informazioni di cui abbiamo bisogno:

Visual VM Profiler

Visual VM Profiler

Categorie:Java Tag:, , ,
  1. Al momento, non c'è nessun commento.
  1. No trackbacks yet.

Lascia un commento