Perfomatic:UI: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(one down, one new)
(some finished, one new idea)
Line 37: Line 37:
* split up JSON files as discussed in [[Perfomatic/Status_Meetings/2010-Nov-24|status meeting]]
* split up JSON files as discussed in [[Perfomatic/Status_Meetings/2010-Nov-24|status meeting]]
** look into constraining by date range
** look into constraining by date range
* set Last-Modified headers on all JSON feeds
* <strike>set Last-Modified headers on all JSON feeds</strike>
** especially the manifest!
** <strike>especially the manifest!</strike>
** already setting 15m Expires/Cache-control max-age
** <strike>already setting 15m Expires/Cache-control max-age</strike>
* add caching proxy (varnish, etc)
* <strike>add caching proxy (varnish, etc)</strike>
** or do it in the app
* improve charting performance  
* improve charting performance  
** "double-buffering" canvas for flot
** "double-buffering" canvas for flot
** use node.js to generate static images for dashboard?
*** [http://groups.google.com/d/topic/flot-graphs/GLGCCoJlRYg flot group post]
*** [http://stackoverflow.com/questions/2795269/does-html5-canvas-support-double-buffering/2864533#2864533 stack overflow discussion]
*** [http://stackoverflow.com/questions/2795269/does-html5-canvas-support-double-buffering/2864533#2864533 stack overflow discussion]
*** custom chart is much faster if each series is written to a hidden canvas then shown when they are all complete
*** custom chart is much faster if each series is written to a hidden canvas then shown when they are all complete

Revision as of 23:45, 17 December 2010

Design

Designed by Chris Howse

Implementation

Missing features from current design

  • dashboard ->
    • toolbar ->
      • product - not implemented
      • platforms - not implemented
      • top tests - not implemented
    • data grid ->
      • row/column should not scroll
  • custom chart ->
    • toolbar ->
      • running time - time delta/time delta % not implemented
      • show changesets - needs design work
        • may need hgpushlog work to link directly to changesets
      • export CSV - server broken
      • link - needs url shortener
      • embed - not implemented
    • set selection range based on URL
    • add test data ->
      • put popular branches/tests/platforms on top
  • plot
    • y-axis should always be 0-based

Performance optimizations

  • split up JSON files as discussed in status meeting
    • look into constraining by date range
  • set Last-Modified headers on all JSON feeds
    • especially the manifest!
    • already setting 15m Expires/Cache-control max-age
  • add caching proxy (varnish, etc)
  • improve charting performance

Testing

  • stand up vhost with old graphserver, pointing at nightly database, for QA comparison
  • set up lint and tests on Hudson
  • stand up auto-update for code (5 minutes) and DB (nightly)
  • (QA) compare actual submitted data to JSON, and confirm in interface
  • make sure proper changeset range is shown for checkins
    • check with catlee on how the tree-management script does this
    • follow-up irc convo w/ ted on catlee on changesets coalescing