Esercitazione: Analisi dei dati di profilo di un processo Java

Obiettivi

Analizzare i dati raccolti dalla creazione profilo di un processo Java, mediante le viste Creazione profili e log nei seguenti modi:

Tempo necessario

1 ora

Attività preliminari

Prima di iniziare questa esercitazione, completare le attività riportate di seguito:

  1. Installare la piattaforme Eclipse, inclusi gli strumenti Hyades.
  2. Preparare i file di creazione profili di esempio per l'importazione.  Tali file dovrebbero trovarsi in:
    directory di installazione\directory\eclipse\plugins\org.eclipse.hyades.collection.framework\src\org\eclipse\hyades\test\collection\framework

Descrizione

In questa esercitazione, verranno utilizzate diverse viste di creazione profili e log, per analizzare la classe PerformanceExample.class di esempio. L'esempio aprirà un pannello contenente due pulsanti.

Completare le seguenti attività:

  1. Apertura della prospettiva Creazione profili e log nel workbench
  2. Creazione del profilo della classe PerformanceExample
  3. Analisi delle informazioni di profilo

Per aggiornare le viste durante il controllo dell'applicazione, scegliere il pulsante Aggiorna viste pulsante con icona stilizzata.

Apertura della prospettiva Creazione profili e log nel workbench

Scegliere Apri prospettiva pulsante con icona stilizzata > Altro > Creazione profili e log

Creazione del profilo della classe PerformanceExample

Procedere come segue:

  1. Scegliere Profilo  pulsante con icona stilizzata. Viene aperta la pagina Classe della procedura guidata Avvio processo Java.
  2. Scegliere Seleziona una classe nel file system
  3. Scegliere Sfoglia e individuare la classe di esempio che dovrebbe trovarsi in:
    directory di installazione\eclipse\plugins\org.eclipse.hyades.collection.framework\bin\org\eclipse\hyades\test\collection\framework
    Scegliere Avanti. Viene aperta la pagina Destinazione.
  4. ProfileProject e DefaultMonitor sono le risorse di profilo predefinite e possono essere utilizzate per memorizzare i dati di questa sessione di creazione profili.  Scegliere Avanti. Viene aperta la pagina Filtri di creazione profili.
  5. Accettare i filtri predefiniti. Scegliere Avanti. Viene aperta la pagina Opzioni di creazione profili.
  6. La casella di controllo L'applicazione utilizza troppa memoria è già selezionata, il che significa che le informazioni relative alla memoria verranno incluse nei dati di profilo raccolti dall'applicazione
  7. Per ricevere informazioni sull'esecuzione, selezionare L'applicazione è troppo lenta. Quando questa opzione è selezionata, sarà possibile utilizzare le viste statistiche per analizzare le informazioni relative al tempo.  Per utilizzare le viste Flusso di esecuzione e Chiamata al metodo, è necessario raccogliere dettagli grafici sull'esecuzione.  Poiché lo scopo di questo esempio è di guidare l'utente attraverso tutte le viste di creazione profili, comprese le viste Flusso di esecuzione e Chiamata al metodo, scegliere Mostra dettagli e selezionare Mostra dettagli grafici flusso di esecuzione.  Scegliere Fine.
  8. Le risorse di profilo richieste vengono create e i processi vengono visualizzati nella vista Controllo creazione profili. 
  9. Abilitare la visualizzazione delle Cartelle, Controlli e Host in modo che il controllo raggruppi i dati così come il computer in cui si sta eseguendo il workbench.

    vista Controllo creazione profili che mostra la gerarchia
di risorse e il menu a discesa per selezionare le risorse da visualizzare

     

Analisi delle informazioni di profilo

Visualizzazione del comportamento dell'esecuzione in un certo periodo di tempo

  1. Aprire la vista Flusso di esecuzione: selezionare il controllo con il tasto destro del mouse, quindi scegliere Apri con > Flusso di esecuzione
  2. La vista conterrà l'esecuzione dell'intero programma.  A destra, sull'asse verticale, viene visualizzato il tempo.
  3. Selezionare il nome di un metodo. Tutti i metodi da esso richiamati verranno evidenziati in giallo.  La lunghezza verticale dell'area evidenziata rappresenta un'indicazione del tempo di base del metodo. Il valore esatto del tempo di base viene visualizzato nella riga di stato.

    vista Flusso di esecuzione con due metodi,
quello a sinistra con un'ombreggiatura in giallo
     
  4. Fare clic su Ingrandisci  pulsante con icona stilizzata per abilitare il cursore, quindi fare clic per ingrandire un'area. 

    ingrandimento dell'illustrazione del Flusso di esecuzione
     

Analisi del processo mediante la vista Flusso di esecuzione

Apertura della vista Flusso di esecuzione

  1. Nella vista Controllo creazione profili, selezionare il controllo o l'agente.
  2. Fare clic con il tasto destro del mouse e selezionare Apri con > Flusso di esecuzione. Viene aperta la vista Flusso di esecuzione.

Nota: per aggiornare le viste durante il controllo dell'applicazione, scegliere Aggiorna viste pulsante con icona
stilizzata.

Identificazione thread attivi

Nella vista Flusso di esecuzione, ciascun thread contiene periodi di attività, identificati da una varietà di chiamate ai metodi. Nelle rappresentazioni simboliche, il primo metodo richiamato è una riga e i metodi da esso richiamati vengono visualizzati come righe alla sua destra. La sequenza delle chiamate ai metodi procede da sinistra a destra; le parti attive dei thread vengono identificate dalla progressione sinistra-destra.

Quando si seleziona l'intera sezione, evidenziando la sequenza delle chiamate ai metodi, nella riga di stato viene visualizzato il tempo di base trascorso per l'esecuzione di tale sequenza. Per visualizzare il tempo di base durante il quale il thread è attivo, individuare la differenza tra i due intervalli successivi: 

  1. Spostare il cursore sulla riga orizzontale superiore dell'area gialla selezionata per visualizzare il tempo di base corrispondente nella riga di stato.
  2. Allo stesso modo, spostare il cursore sul margine inferiore dell'area gialla selezionata (che copre il periodo di esecuzione durante il quale è attiva la sequenza dei metodi), e visualizzare il relativo tempo di base.

Suggerimenti

Identificazione dei metodi richiamati frequentemente

Per identificare i metodi richiamati frequentemente, procedere come segue:

  1. Utilizzare lo strumento di ingrandimento pulsante con icona stilizzata per ingrandire una sequenza di metodi richiamati.
  2. Individuare le righe dello stesso colore nell'area selezionata. Tali righe identificano i metodi della stessa istanza di classe richiamati più volte.
  3. Controllare la lunghezza delle righe di diverso colore (ciascuna delle quali rappresenta un metodo). La lunghezza della riga è direttamente proporzionale al tempo di esecuzione del metodo che rappresenta. 

    immagine della vista Chiamata al metodo

Indicazione della raccolta dati obsoleti

Normalmente non è possibile rilevare se è avvenuta la raccolta di dati obsoleti per un oggetto, analizzando le righe di un thread in questa vista.

Procedere come segue:

  1. Controllare la prima colonna a sinistra nella vista. Questa colonna è riservata per il thread di raccolta dati obsoleti e viene chiamata colonna GC thread.
  2. Verificare se la colonna GC thread contiene un rettangolo. È possibile che il rettangolo si trovi molto più in basso rispetto alle chiamate ai metodi nell'oggetto. Il rettangolo viene visualizzato nella colonna GC thread ogni qual volta si verifica la raccolta di dati obsoleti per un oggetto.

Identificazione fasi diverse dell'esecuzione di un programma

Identificazione fase iniziale

  1. Utilizzare lo strumento di ingrandimento pulsante con icona stilizzata per ingrandire una sequenza di metodi richiamati nella parte superiore del thread principale.
  2. Individuare i metodi contrassegnati con -init-
  3. Selezionare uno di questi metodi. La barra di stato viene aggiornata e indica che il metodo viene utilizzato nell'inizializzazione (assegnando valori alle variabili utilizzate nell'applicazione).

Analisi dei metodi mediante le vista Chiamata al metodo

  1. Nella vista Controllo creazione profili, selezionare un controllo o un'agente. Fare clic con il tasto destro del mouse e selezionare Apri con > Flusso di esecuzione. Viene aperta la vista Flusso di esecuzione.
  2. Selezionare il metodo che si desidera esaminare con il tasto destro del mouse e scegliere Mostra chiamata al metodo.
  3. Utilizzare lo strumento di ingrandimento pulsante con icona stilizzata per ingrandire una sezione della vista.  Il colore delle righe varia in base alle classi e le righe sono collegate da linee orizzontali che rappresentano le chiamate ai metodi.
  4. Selezionare un metodo facendo clic sul nome. 
  5. Fare clic su Aggiorna viste pulsante con icona stilizzata per assicurarsi che le informazioni visualizzate siano aggiornate.
  6. Osservare la riga:
    riga di stato che mostra il nome del metodo e i numeri
1/1

    La riga mostra il nome del metodo, seguito da n/m, dove n è la chiamata attualmente visualizzata su un totale di m chiamate. 
  7. Scegliere Indietro  e Avanti  per visualizzare tutte le chiamate dei metodi selezionati (o ciascun messaggio per l'oggetto selezionato). La frazione sulla barra degli strumenti cambia per indicare la chiamata visualizzata.

Individuazione del chiamate di un metodo

Per individuare cosa sta richiamando un metodo, continuando nella vista Chiamata al metodo, procedere come segue:

  1. Per visualizzare il chiamante di un metodo, scegliere Mostra chiamante  . Vengono visualizzati il metodo e il rispettivo chiamante. 
  2. Per visualizzare più dettagli sul chiamante del metodo per ciascuna chiamata visualizzata, posizionare il cursore sulla riga che rappresenta il chiamante nella vista. La riga di stato indicherà le informazioni relative al chiamante.
  3. Per visualizzare il metodo richiamato dal metodo selezionato, scegliere Mostra metodo richiamato