Currently a large number of PageLoadMetricsObservers are recording network/page bytes histograms using |raw_body_bytes| from PageLoadMetricsObserver::OnLoadedResource. This is missing all bytes for resource requests that canceled or were ongoing when metrics are recorded. Notably videos played via src are treated as one ongoing/incomplete request until the entire video file is buffered (unless it is paused), and are unaccounted for when using this pattern.
Consider migrating these observers to use OnResourceDataUseObserved which is populated via transfer size updates and captures bytes used for incomplete requests.
Observers currently using OnLoadedResource pattern to measure bytes:
- CorePageLoadMetricsObserver
- LofiPageLoadMetricsObserver
- MediaPageLoadMetricsObserver
- PageCappingPageLoadMetricsObserver
- TabRestorePageLoadMetricsObserver
- UkmPageLoadMetricsObserver
Comment 1 by ryansturm@chromium.org
, Oct 10