2013-06-16 12 views
5

Sto provando il demo of start, che è un sito web piuttosto semplice costruito su freccette.Come profilare un'app per dart?

Quando lo eseguo, l'utilizzo della memoria iniziale è di 10 M, ma quando visito la pagina iniziale, lo aggiorna ancora e ancora, la memoria cresce rapidamente fino a raggiungere 78 M e non tornerà mai più.

Voglio trovare ciò che utilizza la memoria, e c'è qualche perdita di memoria, ma non so come farlo. È possibile che uno strumento mi aiuti a profilare un'app per dart?

+0

Hai provato 'perf': https://code.google.com/p/dart/wiki/Profiling? –

+0

Che sistema operativo stai usando? –

risposta

4

Nei commenti è già stato indicato che esistono modi per ottenere un profilo CPU dalla VM su Linux (https://code.google.com/p/dart/wiki/Profiling).

Per quanto ho capito, quello che stai cercando è ottenere un heap o un profilo di memoria. Mentre è possibile stampare un istogramma di oggetto quando il programma termina (vedi sotto), non abbiamo alcun modo conveniente per ottenere l'istogramma dell'oggetto mentre il tuo server è in esecuzione. Speriamo di poter aggiungere questa capacità nei prossimi mesi.

Per stampare l'istogramma dell'oggetto quando lo script Dart termina, è necessario passare il flag --print_object_histogram a Dart VM. Questo stamperà le medie degli oggetti vivi alla fine di ciascun GC principale per tutta la durata del programma. Questo può andare bene per avere una rapida panoramica, ma non è l'ideale per rintracciare e identificare i problemi reali.