Interazione con il grafico a fiamme

Cloud Profiler visualizza i dati di profilazione utilizzando grafici a fiamme. Per un'introduzione concettuale, consulta la sezione Grafici a fiamme.

Il grafico a fiamme è composto da frame. Ogni frame rappresenta una funzione nel servizio:

  • La larghezza di un frame corrisponde al suo consumo della metrica in fase di analisi. Il frame principale, ad esempio, rappresenta l'intero servizio e consuma il 100% della metrica analizzata. Pertanto, questo frame viene visualizzato come larghezza intera.

  • Per impostazione predefinita, il colore del frame corrisponde, ove possibile, al pacchetto della funzione. Se le informazioni sul pacchetto non sono disponibili, come con Node.js, i nomi dei file di origine vengono utilizzati per colorare i blocchi funzione. In una combinazione di chiamate, una modifica del colore del blocco comporta la transizione da un pacchetto a un altro. Puoi cambiare il modo in cui i frame vengono colorati. Per ulteriori informazioni, consulta la sezione Modalità colore.

Il grafico a fiamme mostra uno o più stack di chiamate con i valori medi su un insieme di profili:

  • Ogni singolo profilo rappresenta i dati raccolti una volta al minuto da una singola istanza del servizio configurato in una singola zona di Compute Engine. Il periodo di raccolta di un profilo varia in base al tipo di profilo. Per scoprire di più, consulta la sezione Raccolta dei profili.
  • La media è di 250 profili. Se sono disponibili più di 250 profili, 250 vengono selezionati in modo casuale come set di esempio.
  • Il frame superiore, o "root", in un grafico a fiamme che rappresenta l'intero servizio. Sotto il frame "root" si trova un altro frame o un insieme di frame che costituiscono la seconda riga del grafico. Ciascuno di questi frame con colori diversi è una chiamata di primo livello effettuata dal servizio. Sotto ciascuno di questi frame delle funzioni colorate si trova un altro insieme di frame delle funzioni, ognuno dei quali è responsabile di una parte della risorsa del frame che li circonda. La gerarchia dei frame delle funzioni nel grafico rappresenta la sequenza di chiamata e la larghezza di un frame rappresenta il contributo di quella funzione o metodo al consumo di risorse.

Ad esempio, il grafico del profiler dell'heap consumato per il docdemo-service mostra che il servizio chiama diversi frame di primo livello, uno di questi è la funzione main di runtime runtime. La larghezza di questi frame di primo livello mostra la maggior parte dell'heap consumata dallo stack di chiamate che include runtime main, specifico per l'applicazione main, allocOnce e allocImpl:

Grafico profiler per l'heap consumato.

Il frame principale mostra le informazioni sul consumo di metriche.

Passaggio del mouse sopra un frame

Quando tieni il puntatore del mouse su un frame nel grafico a fiamme, viene visualizzata una descrizione comando del frame che mostra informazioni aggiuntive sul frame:

  • Nome funzione
  • Nome file della funzione
  • Utilizzo assoluto e utilizzo percentuale

Nelle informazioni sul consumo di metriche, il prefisso totale indica che la metrica e il valore percentuale corrispondono a una funzione e alle relative unità secondarie. Al contrario, il prefisso self indica che la metrica-valore e la percentuale sono relative alla funzione con il consumo dei rispettivi elementi secondari.

La finestra di dialogo include anche i pulsanti:

  • Messa a fuoco: attiva il grafico sulla funzione frame corrente.
  • Mostra stack: aggiunge un filtro per mostrare solo gli stack che includono la funzione di questo frame.
  • Mostra cronologia: apre la visualizzazione della cronologia della funzione del frame.

In questo esempio, la descrizione comando mostra che la funzione runtime.main si trova nel file /usr/local/go/src/runtime/proc.go. Le informazioni sul consumo della metrica mostrano che runtime.main e i relativi elementi secondari consumano 54,73 MiB di memoria, ovvero circa il 98% della memoria totale utilizzata dal programma:

Consumo delle metriche per runtime.main.

Selezione di un frame

Quando selezioni un frame, il grafico a fiamme viene disegnato con il frame mostrato a tutta larghezza e i colori più in alto nello stack di chiamate sono disattivati. La selezione di un frame non modifica le impostazioni, ma cambia solo il modo in cui viene visualizzato il grafico. Per tornare alla visualizzazione originale, seleziona il frame principale (in alto).

Nel seguente esempio, il puntatore è posizionato su un frame molto piccolo ed è difficile visualizzare lo stack di chiamate. La descrizione comando identifica (*huffmanBitWriter).write come funzione frame:

Una piccola cornice nel grafico a fiamme.

Dopo aver selezionato il frame, il grafico viene disegnato per rendere più visibile lo stack di chiamate:

Il piccolo riquadro si è espanso.

Passaggi successivi