Thanks for writing up the document! The plan looks great to me :)
One question is: What do you mean by "disabling" some dump provider (for performance and/or memory reasons)? Does it mean that no number will be reported by the dump provider? Or the dump provider only reports representative numbers without scanning its heap?
If we worry about performance and/or memory impacts, in v0 we can just start with reporting representative numbers from each dump provider (e.g., effective_size etc). The numbers will be helpful to understand overview of real-world memory usages. If we find any problem there, we can manually open the URL and collect more detailed results (e.g., object types). If the performance and memory look good, in v1 we can expand tracing data for the background mode.
My point is just that we can start with clearly non-controversial parts, and then iterate :) What do you think?
Yes that is the plan. We have the dump providers provide a light dump of just totals.
Disabling a dump provider is to not dump anything. This is because the light dump itself is very heavy. The version 1 is the plan to try and aggregate them and add just a total.
Yes, I agree with going with the non-controversial parts in V0. I have put controversial providers as "disabled" for V1.
Comment 1 by haraken@chromium.org
, May 20 2016