Limit traversal statistics dumps to subtrees of 50 or more elements.

On Gecko, we get tons of console spam from 1-element traversals if we
don't do this.
This commit is contained in:
Bobby Holley 2017-04-12 17:36:38 +08:00
parent 31ea4208cf
commit 591733408d
3 changed files with 12 additions and 2 deletions

View file

@ -223,6 +223,12 @@ impl TraversalStatistics {
self.is_parallel = Some(traversal.is_parallel());
self.traversal_time_ms = (time::precise_time_s() - start) * 1000.0;
}
/// Returns whether this traversal is 'large' in order to avoid console spam
/// from lots of tiny traversals.
pub fn is_large_traversal(&self) -> bool {
self.elements_traversed >= 50
}
}
#[cfg(feature = "gecko")]

View file

@ -86,7 +86,9 @@ pub fn traverse_dom<E, D>(traversal: &D,
}
});
aggregate.finish(traversal, start_time.unwrap());
println!("{}", aggregate);
if aggregate.is_large_traversal() {
println!("{}", aggregate);
}
}
}

View file

@ -64,6 +64,8 @@ pub fn traverse_dom<E, D>(traversal: &D,
if dump_stats {
let tlsc = tlc.borrow_mut();
tlsc.statistics.finish(traversal, start_time.unwrap());
println!("{}", tlsc.statistics);
if tlsc.statistics.is_large_traversal() {
println!("{}", tlsc.statistics);
}
}
}