Sto cercando un profiler Java per l'utilizzo in un ambiente di produzione molto forte domanda, sia commerciale o libero, che soddisfa tutti i seguenti requisiti:Il miglior e più sicuro Java Profiler per l'uso di produzione?
- integrazione leggera con il codice (senza ricompilazione con opzioni speciali, nessun hook di codice, ecc.). Eliminare alcuni .jars specifici del profiler insieme al codice dell'applicazione è ok.
- Dovrebbe essere possibile connettersi/disconnettersi alla JVM senza riavviare l'applicazione.
- Quando il profilo non è attivo, nessun impatto sulle prestazioni
- Quando il profilo è attivo, l'impatto trascurabile sulle prestazioni. Una leggera degradazione è accettabile.
- deve fare tutto il roba 'previsto' un profiler fa - il tempo trascorso in ogni metodo per trovare gli hotspot, allocazione degli oggetti/memoria di profiling, ecc
In sostanza ho bisogno di qualcosa che può sedersi in sospeso nella produzione in cui tutto va bene senza che nessuno sappia o si preoccupi che sia lì, ma che poi sia in grado di connettersi alle sue seccature (e al degrado delle prestazioni) libero di individuare i problemi difficili da trovare come hotspot e problemi di sincronizzazione.
Abbiamo provato Yourkit qualche tempo fa, alla versione 7.x, e ho trovato che rallentava la JVM di un ordine di grandezza al momento della creazione del profilo. La loro versione più recente utilizza una migliore integrazione con Java 1.6+ ed elimina questo problema? – Peter
Resta ancora la JVM, ma da allora è migliorata molto. – Behrang
Ho letto il set di funzionalità corrente - se non è fuorviante, questo è esattamente ciò che sto cercando. – Peter