Performance/Snappy/2011-11-18

From MozillaWiki
Jump to: navigation, search

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