Report the scored window, attempted complexity and ramp change points
Trace analysis needs the exact ramp window per subtest. Intervals derived
from iframe navigation overshoot it by 14-20%, and the overshoot cannot be
corrected with a fixed offset because tier sampling is a complexity search
that varies with device speed.
Emit marks at the three transitions that already exist in the control flow
(end of warmup, end of tier sampling, stop), pinned to the controller's own
timestamps, plus measure spans between them. Every call is guarded: an
exception escaping _animateLoop() would stop the requestAnimationFrame chain
and hang the run with no error reported anywhere.
Also report what the controller is doing inside that window, which is
otherwise invisible in a trace: the complexity each ramp interval attempts
along with the frame length it produced, and the change point of each ramp's
regression, which is the complexity at which the target frame rate stops
being met and the value the score is derived from. Both ride along as mark
detail, which Chrome serializes only while blink.user_timing is enabled, so
untraced scoring runs are unaffected.
TAG=agy
CONV=82c228f8-31a9-480b-ba3b-ccc2a5eb2331
Change-Id: Ibdc75af1525748f308a22e57095b0518c207cc0e
2 files changed