Perfomatic:UI
Jump to navigation
Jump to search
Design
Designed by Chris Howse
Implementation
Missing features from current design
- dashboard ->
- toolbar ->
product - not implementedplatforms - not implementedtop tests - not implementedset pulldowns based on URL
- data grid ->
- row/column should not scroll
- toolbar ->
- custom chart ->
- toolbar ->
running time - time delta/time delta % not implementedshow changesets - needs design workmay need hgpushlog work to link directly to changesets
- export CSV - server broken
- link - needs url shortener
url/embed styling prototype changes
embed - not implemented
set selection range based on URL- add test data ->
- put popular branches/tests/platforms on top
- toolbar ->
- plot ->
y-axis should always be 0-based
need mapping between branches and hg repos
Performance optimizations
- split up JSON files as discussed in status meeting
- look into constraining by date range
- mini-manifest, return only requested testid/branchid/platformid
set Last-Modified headers on all JSON feedsespecially the manifest!already setting 15m Expires/Cache-control max-age
add caching proxy (varnish, etc)- improve charting performance
forcing lineWidth to 1 seems to make a huge difference- started discussion on the flot list, fixed in flot and backported to graphs flot 0.6
however does not look as good, not pushing to stage until further investigation
- "double-buffering" canvas for flot
- stack overflow discussion
- custom chart is much faster if each series is written to a hidden canvas then shown when they are all complete
use node.js to generate static images for dashboard?flot group post- this actually works pretty well
- spoke to author (John Schulz, jsno.de/) who linked the code behind http://jsno.de./flot/
requires a text plugin for flot, to get the ticks into the canvas instead of flot's default of appending styled divs
look into reducing number of pointsflot plots way more than is actually useful when graphs are very dense, flot group discussion
- look into flot alternatives
Testing
- stand up vhost with old graphserver, pointing at nightly database, for QA comparison
- set up lint and tests on Hudson
- selenium tests (in progress)
- show these to QA to run on their Hudson
- qUnit/env.js unit tests for JS code
- selenium tests (in progress)
- 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
Bugs
- embed ->
- need loading indicator for individual series
- tooltips can be hidden by top of screen
- custom chart ->
- series controls change plot daterange
- str: add multiple data series and change daterange pulldown before all are loaded
- series controls change plot daterange