On Tue, Oct 6, 2015, at 01:05 PM, Fabrice Desré wrote:
> We have tools to detect regressions and report bugs. We have people
> triaging and following up on these bugs. What's left? Locking down devs
> to fix issues? If you have suggestions I'm all ears, but I'm out of
> politically correct ideas.

I think there are two important things we can do:

1) Reduce developer uncertainty about platform impact on app regressions
by providing a single "b2g performance state of the tree" resource that
is always at-hand.  For example, TBPL very nicely is in your face about
the state of the branch you're dealing with (powered by
https://treestatus.mozilla.org/ which one can also directly consult). 
The sheriffs are on top of the tree state and they make sure you know
the tree state too.  It is my impression that our performance team is
likewise on top of things, it's just not as readily reflected to me as a
developer, and it's very easy for me to just assume that the platform
has regressed again.  It would be great to have a green banner on
raptor.mozilla.org that says "The b2g trunk is good; all performance
regressions are your own" or a yellow banner that says "platform is
performanced-busted impacting startup time but not memory usage, check
out bug NNNNNN".

For example, it's my impression that the preallocated process mechanism
was broken for ~2.5 weeks on
https://bugzilla.mozilla.org/show_bug.cgi?id=1204837.  From the bug,
it's clear that raptor and the performance team were on top of this
immediately.  But my hypothetical devil's advocate impression was mainly
that the platform is flakey and I should not bother investigating
performance regressions because they're probably being dealt with by
other people and it's a lot of work for me to figure out the current
state of regressions, etc.

2) Reduce the activation energy to investigating performance regressions
by providing a profiler run for each raptor performance data point. 
This is sorta covered by
https://bugzilla.mozilla.org/show_bug.cgi?id=1192746.  If I am going to
investigate a performance regression, I potentially need to do a device
"context switch" where I ensure it's on trunk state, maybe do a b2g
build to get symbols, maybe have to update my checkout, etc.  It can be
a hassle.  And I'm just going to run the profiler myself anyways.  If
raptor and its automatically filed bugs lets me (a hypothetical
developer) directly click to a profiler run, that makes it much easier
for me to investigate and spot obvious regressions/causes, or just find
things I can improve that aren't actually a regression.  In fact (as a
hypothetical busybody developer) I might even do drive-by profiler-run
analyses on apps that aren't my own.

Of course, the profiler run will distort the performance numbers, so it
needs to not be one of the counted runs.  Note that I'm not suggesting
automated analysis of the profiler runs.  That would be cool, but is
probably two orders of magnitude more work.

Andrew
_______________________________________________
dev-fxos mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-fxos

Reply via email to