views:

449

answers:

5

I have a page constructed using Dojo and I need to measure how long the page takes to complete rendering on my browser (NOT time-to-first-byte, or time-to-last-byte).

In other words, the page (all bytes) might get downloaded to my broswer but the components I'm using (eg. calendar, grid etc) might still initialize and render long after the complete page has been downloaded.

Are there any tools that would allow me to measure when the page and all its components have completely rendered, reliably?

+2  A: 

Firebug's profiler & net tab can be helpful. Chrome has similar functionality in their developer tools.

For Internet Explorer you could use dynaTrace.

Caleb
Thanks Caleb. AFAIK, Firebug's profile doesnt really do page render time too well...Will try dynatrace and let you know. Will accept this answer in a day or two if dynatrace works for us.
Ryan Fernandes
Would the page rendering time = page load time - network time; ?I ask this because rendering time shown is really small (<100ms) which does not corelate with what we actually see on the browser.
Ryan Fernandes
I cannot accept this answer because page rendering time cannot be inferred from either page load time, page render time or any computation between the same.
Ryan Fernandes
And wow, the dynaTrace logo is insane: a turtle on wheels wearing a Santa Claus hat with a burning firecracker tied to its back.
Roman Stolper
A: 

YSlow will help you with Firebug and as previously mentioned dynaTrace is your best bet for IE.

kls
A: 

Can you just do a dojo.connect to a method like postCreate on one of your widgets and get a timestamp?

dojo.connect(dijit.byId("myCalendar"), "postCreate", function(){ console.log(new Date() - start); });

where 'start' is a global declared in a SCRIPT block in HEAD?

-Adam

peller
+2  A: 

For render times in Firefox try Google Page Speed.

EDIT: in Chrome try the new Google Speed Tracer (Chrome 4 and up), it's amazing

orip
What exactly does this tool measure? Dijit does much of its processing (e.g. the parser) after the DOM has rendered (DOMContentLoaded/onLoad)
peller
Page Speed's "Record Activity" records any time frame you want. http://code.google.com/speed/page-speed/docs/using.html#activities
orip
A: 

I've found that "Page Speed" for Firefox is a great plugin, and dynaTrace is definitely the best if IE6 is required.

Joeseph