Performance/Snappy/2011-11-18

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Responsiveness program

Need to set a simple goal

  • target keyboard/mouse responsiveness
  • target animation framerate

Measuring:

  • Need tools for measuring slowness: gfx FPS gated on UI operations
    • automated, continuous integration
    • on-demand
    • web devs, add-on devs, fx devs, platform devs?
  • should rank ui operations by importance, ie typing, mouse clicks
  • the following use-cases should be instrumented with telemetry: http://j.mp/rPGyFb
  • Use benoit's profiler to prioritize stacks that need fixing
  • How to distribute work among various teams?
    • telemetry
    • tools

Automate:

  • Use telemetry and statistics to measure progress/regression. have a list of histograms that people can check to see progress
  • Have metrics do/automate trend analysis on telemetry data
  • Once we have data we can try to model our performance in the field

Momentum:

  • Weekly blog posts like memshrink
  • Arewefastyet.com from telemetry histogram

https://etherpad.mozilla.org/responsiveness-profiling

Process:

  • lots of triage
  • copy memshrink queries

Notes mtg:

  • need gfx test harness for fps: jeff taking, after thxgiving week
  • dietrich coordinating telemetry for front-end actions
  • goals
    • should focus on what users are complaining about
    • how to find out what's biting users? a user survey?
    • Lawrence: talk to support group?
    • probes are answers about specific areas, can't just probe the whole project
    • measure events before non-responsive code (ted's event loop lag logger)
      • doesn't cover painting
      • don't optimize for lag when browser is idle
    • taras: want a user-visible goal
    • jst: already code in place to tell when blocking user events?
      • then capture stack trace
    • measing against gmail - not static. could save a snapshot for benchmark.
    • need to find person to handle the test framework and getting infrastructure bits going.
    • get basic locally running harness so can attack directly?
  • p1s
    • slow-sql telemetry
    • domstorage
      • trade off reliability for perf
      • dying api (no longer promoting it)
  • mandelin: more lab-style way for devs to figure out when page X causes problem due to code Y?
    • something between telemetry and automation
    • quick feedback loo
  • dump telemetry or other pause-related data into a buffer
  • sql telemetry
    • distinguish main-thread vs off-thread queries
  • could be useful to main thread events that take time
  • are hangs part of mission here?
  • out of process plugin hangs?
  • startup part of this?
  • android responsiveness?
  • hang detector: bug 429592

Actions:

  • Jeff writing gfx harness for fps
  • Dietrich coordinating front-end telemetry: find owners for new tab, close tab
  • Lawrence talking to support group about what users are complaining about
  • Test infrastructure will be pushed on by XXX
  • Nfryod looking at domwstorage, shouldn't wait on leveldb. make it less reliable, for perf
  • Andrew filing bug for lab-style responsiveness log: bug 703800
  • Lawrence is going to reschedule the meeting to include non-US participants