diff options
author | Manish Goregaokar <manishearth@gmail.com> | 2017-11-28 03:16:26 -0800 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2017-12-12 10:08:11 -0600 |
commit | d573081fe56ebbb01ba6115d93d3627614b86c14 (patch) | |
tree | 658b3ea7657d5677202dda47718af789e3800a31 /ports | |
parent | 0fa605d2439c4f640b7f180c18d768a7a14e7f1e (diff) | |
download | servo-d573081fe56ebbb01ba6115d93d3627614b86c14.tar.gz servo-d573081fe56ebbb01ba6115d93d3627614b86c14.zip |
Add telemetry probe for fraction of restyles that are parallel
Diffstat (limited to 'ports')
-rw-r--r-- | ports/geckolib/glue.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index fdd491985f1..bed1bc48dbf 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -267,8 +267,19 @@ fn traverse_subtree( None }; + let is_restyle = element.get_data().is_some(); + let traversal = RecalcStyleOnly::new(shared_style_context); - driver::traverse_dom(&traversal, token, thread_pool); + let used_parallel = driver::traverse_dom(&traversal, token, thread_pool); + + if traversal_flags.contains(TraversalFlags::ParallelTraversal) && + !traversal_flags.contains(TraversalFlags::AnimationOnly) && + is_restyle && !element.is_native_anonymous() { + // We turn off parallel traversal for background tabs; this + // shouldn't count in telemetry. We're also focusing on restyles so + // we ensure that it's a restyle. + per_doc_data.record_traversal(used_parallel); + } } /// Traverses the subtree rooted at `root` for restyling. |