Configurazione del profilo utilizzando Eclipse Test and Performance Tools Platform (TPTP)

Panoramica

  • La profilazione è un aspetto importante per i programmatori poiché questo è il processo in cui il programmatore può scoprire un elevato utilizzo della memoria, un elevato utilizzo della CPU, problemi di conflitto di rete ecc.
  • Ci sono vari profiler disponibili sul mercato e la maggior parte di questi sono versioni commerciali.
  • La comunità Eclipse ha un progetto chiamato Testing and Performance Tools Platform (TPTP) per risolvere questo problema. Qui viene discusso solo l'aspetto della profilazione di TPTP, tuttavia la capacità di TPTP è molto di più.
  • TPTP

  • Questa funzione può essere utilizzata per profilare applicazioni Java locali o applicazioni complesse in esecuzione su più host e piattaforme diverse.
  • Questo è integrato con Eclipse, consentendo la profilazione delle applicazioni in esecuzione da Eclipse.
  • TPTP può essere installato tramite Eclipse Provisioning Manager o scaricare manualmente i pacchetti richiesti di TPTP e posizionarli nella directory dei plugin.
  • Controller agente: questo processo consente alle applicazioni client di avviare altre applicazioni in locale o in remoto e di interagire con i processi dell'agente per raccogliere i dati di profilazione. Se TPTP deve essere utilizzato su un'applicazione Java localmente, questo agent controller autonomo non è necessario poiché TPTP è fornito in bundle con Agent Controller.
  • Le tre operazioni di profilazione implementate.
    1. CGProf: questa opzione di profilazione viene utilizzata per identificare i colli di bottiglia delle prestazioni, suddividendo il tempo di esecuzione a livello di metodo.
    2. HeapProf: questa opzione consente di identificare il contenuto dell'heap monitorando l'allocazione e la disallocazione degli oggetti per tutta la durata del programma.
    3. ThreadProf: questa opzione di profilazione consente di tenere traccia dell'utilizzo del thread per tutta la durata del programma.
  • TPTP wok nella prospettiva di profilazione e registrazione di Eclipse.
  • Analisi dei tempi di esecuzione

  • Questo aspetto di TPTP fornisce il tempo di esecuzione di pacchetti, classi e metodi per l'analisi
  • Ciò è utile per trovare i punti di esecuzione che richiedono più tempo del previsto che sono potenziali colli di bottiglia delle prestazioni.
  • Terminologie

  • Ora di base: l'ora in cui eseguire il contenuto del metodo stesso, escluse le chiamate ad altri metodi. (Nel grafico, il campo Base Time ha sommato tutte le chiamate di quel metodo)
  • Tempo di base medio: il tempo medio impiegato da un particolare metodo per il completamento, escluso il tempo delle chiamate di metodo ad altri metodi. (Nel grafico, questo è il tempo di base diviso per il numero di chiamate)
  • Tempo cumulativo: il tempo necessario per eseguire il contenuto del metodo stesso, incluse le chiamate ad altri metodi.
  • Passaggi:

  • Scegli il progetto e seleziona il percorso sopra menzionato.
  • Seleziona la configurazione del profilo da eseguire: Junit, Applet, Application o Server Project.
  • Scegli la scheda Monitor e seleziona "Analisi del tempo di esecuzione".
  • Fare clic sulle opzioni di modifica e selezionare "Raccogli informazioni sull'ora della CPU del metodo".
  • Analisi della memoria

  • Questo aspetto di TPTP fornisce l'utilizzo della memoria di pacchetti, classi e metodi per l'analisi.
  • Ciò è utile per trovare i punti di esecuzione che consumano più memoria del previsto che sono potenziali casi di perdite di memoria.
  • Terminologie

  • Istanze attive: il numero di istanze della particolare classe che sono ancora attive in memoria (non sono state raccolte in modo indesiderato).
  • Dimensione attiva: il numero totale di byte nell'heap che tutte le istanze attive stanno attualmente consumando.
  • Istanze totali: il numero totale di istanze di questa classe che sono state create durante la durata della JVM (inclusi gli oggetti raccolti in Garbage Collection).
  • Dimensione totale: la dimensione totale di tutte le istanze di questa classe che sono state create durante la durata della JVM (inclusi gli oggetti raccolti in modo indesiderato).
  • Età media: età media di un oggetto prima della raccolta dei rifiuti.
  • Passaggi:

  • Scegli il progetto e seleziona il percorso sopra menzionato.
  • Seleziona la configurazione del profilo da eseguire: Junit, Applet, Application o Server Project.
  • Scegli la scheda Monitor e seleziona "Analisi della memoria".
  • Fare clic sulle opzioni di modifica e selezionare "Tieni traccia dei siti di allocazione degli oggetti".
  • Analisi dei thread

  • Questo aspetto di TPTP fornisce la contesa di thread di pacchetti, classi e metodi per l'analisi.
  • Ciò è utile per trovare i punti di esecuzione in cui il thread è in attesa di risorse anche dopo il completamento dell'operazione.
  • Passaggi:

  • Scegli il progetto e seleziona il percorso sopra menzionato.
  • Seleziona la configurazione del profilo da eseguire: Junit, Applet, Application o Server Project.
  • Scegli la scheda Monitor e seleziona "Analisi thread".
  • Fare clic sulle opzioni di modifica e selezionare "Analisi della contesa".
  • Punti chiave

  • È anche possibile inserire kit di sonde personalizzati per profilare l'applicazione.
  • L'analisi della memoria fornisce puntatori a un elevato utilizzo insolito della memoria che potrebbero essere possibili candidati per la perdita di memoria.
  • Tempi di esecuzione elevati di classi o metodi sono puntatori a problemi di prestazioni che possono essere regolati con precisione.
  • Questa storia, "Configurazione del profilo utilizzando Eclipse Test and Performance Tools Platform (TPTP)" è stata originariamente pubblicata da JavaWorld.