[Sakai Jira] Commented: (SAKIII-1445) Create an environment that allows assessing the UI performance
Nicolaas Matthijs (JIRA)
sakai3-ux-jira at sakaiproject.org
Thu Oct 28 16:43:31 PDT 2010
[ http://jira.sakaiproject.org/browse/SAKIII-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=112309#action_112309 ]
Nicolaas Matthijs commented on SAKIII-1445:
-------------------------------------------
It probably makes sense to do it for sakai-magic and i18n as well for completeness. This becomes interesting when for example loading the environment in IE7, when evaluating a file can take up to 100ms.
A last point is that the summary view is not showing up in IE7 (haven't tested in another version). Once that is fixed, this JIRA can be resolved.
> Create an environment that allows assessing the UI performance
> --------------------------------------------------------------
>
> Key: SAKIII-1445
> URL: http://jira.sakaiproject.org/browse/SAKIII-1445
> Project: Sakai 3 UI Dev
> Issue Type: Sub-task
> Components: Core UI development
> Affects Versions: Q1 - Sprint 5 (Ends 30/09/10)
> Reporter: Nicolaas Matthijs
> Assignee: Stuart Freeman
> Priority: Critical
> Fix For: Q2 - Sprint 1 (Ends 31/10/10)
>
>
> In order to do performance evaluation, we should create an environment in which we can assess the performance of a current UI.
> This environment should consist of a parent page, that loads the page to be assessed in an iframe (or a frameset) and collects and displays the timing information that is sent from the tested page. It should load the page to be tested multiple times so we get a average values for the values and it should also be timed with different server latencies.
> Initially, we should evaluate the dashboard page (/dev/my_sakai.html) with 4 widgets enabled in the dashboard: My Groups, My Recent Contacts, My Profile, My Recent Content. Technically, this should happen by 2 javascript files that are included at the top of the dashboard page. One of these files (FileA) just holds a list of events it should expect, the other one (FileB) is a general purpose JS file that listens to all of those events, collects timing info and sends the final results to the parent page.
> Events in JavaScript work in the following way (Note that you might want to load jQuery before the 2 performance JS files):
> * Listen to an event (http://api.jquery.com/bind/):
> $(window).bind("customeventname", function(){
> ...
> }
> * Send out an event (http://api.jquery.com/trigger/):
> $(window).trigger("customeventname")
> All timing information should be handled by making a global variable inside of FileB like this:
> var start = new Date().getTime();
> Inside of an event listener you can do
> var now = new Date().getTime();
> var elapsedTime = now - start;
> For the dashboard page, the following things should be timed and reported:
> * Total page load time
> * How long it takes to get me feed
> * Time it takes to evaluate all JS files
> * Internationalization time
> - until language files are received
> - finished translating
> * Time to fully render each widget (from moment request is done to get the widget files (WidgetLoader) to moment it is fully rendered). List of widgets on the page:
> - topnavigation
> - chat
> - footer
> - entity
> - dashboard
> - mygroups
> - mycontacts
> - myprofile
> - mycontent
> - changepic
> - uploadfiles
> - creategroup
> The moment at which a widget is fully loaded will have be determined on a widget per widget basis and you will have to look at the code to find that point.
> Expected output:
> - Evaluation Environment
> - Excel spreadsheet with a summary of the timing results
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.sakaiproject.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the sakai-ui-dev
mailing list