Qual è il modo migliore per tracciare l’esecuzione di javascript?

C’è un buon profiler per javascript? So che firebug ha qualche supporto per il profiling del codice. Ma voglio determinare le statistiche su una scala più lunga. Immagina di build un sacco di codice javascript e vuoi determinare quali sono effettivamente i colli di bottiglia nel codice. All’inizio voglio vedere le statistiche del profilo di ogni funzione javascript e il tempo di esecuzione. Successivo dovrebbe includere le funzioni DOM. Questo combinato con azioni che rallentano le cose come un’operazione sull’albero di rendering sarebbe perfetto. Penso che questo darebbe una buona impressione se la performance viene uccisa nel mio codice, nella preparazione DOM o negli aggiornamenti dell’albero di rendering / visivo.

C’è qualcosa di simile a quello che voglio? O quale sarebbe lo strumento migliore per ottenere il massimo da ciò che ho descritto? Sarebbe un browser auto compilato più motore javascript migliorato dalla funzionalità del profilo?

Firebug

Firebug fornisce un rapporto di profilazione altamente dettagliato. Ti dirà per quanto tempo ogni invocazione di metodo prende una tabella gigante (dettagliata).

console.profile([title]) //also see console.trace() 

Devi chiamare console.profileEnd () per terminare il blocco del tuo profilo. Vedi l’API della console qui: http://getfirebug.com/wiki/index.php/Console_API

Merlo

Blackbird ( sito ufficiale ) ha anche un profiler più semplice (può essere scaricato da qui )

Gli Strumenti per sviluppatori di Chrome hanno un profiler incorporato.

Sebbene Firebug sia stato menzionato, un’altra cosa che vorresti vedere con Firebug è un plugin per Firebug chiamato FireUnit ; John Resig ne parla in questo post del blog:

Funzione JavaScript Profiling di chiamata

Spero possa aiutare.

Firebug + Firefox è un must. La toolbar degli sviluppatori di IE 8 ha anche un profiler integrato (IE 8 viene fornito con la barra degli strumenti dello sviluppatore).

L’ispettore web di Safari 4 include anche un profiler (sebbene la versione in nightly sia migliorata con le chiamate ricorsive di funzioni). Web Inspector supporta anche le API di profiler di Firebug.

Per JavaScript, XmlHttpRequest, accesso DOM, tempi di rendering e traffico di rete per IE6, 7 e 8 è ansible utilizzare l’ edizione djnaTrace AJAX GRATUITA