Add UMA histograms to MHTML save operations.
In the context of the Offline project we need more information on how
the MHTML save operation is performing, especially in regards to how
much it is interfering with the render process main thread.
This change adds UMA histograms to track the performance of the costlier
operations performed when a page is being saved to MHTML. One new
"PageSerialization" category was added to encompass serialization generically
and a "MhtmlGeneration" sub-category for the MHTML specific parts.
All histograms added in this batch are timing measurements and they map closely
to the tracing instrumentation under the "page-serialization" category.
Following is the list of them with indentation to indicate what encompasses
what:
For the complete page saving operation:
PageSerialization.MhtmlGeneration.FullPageSavingTime
PageSerialization.MhtmlGeneration.BrowserWaitForRendererTime.FrameTree
PageSerialization.MhtmlGeneration.RendererMainThreadTime.FrameTree
For a single frame in a page saving operation:
PageSerialization.MhtmlGeneration.BrowserWaitForRendererTime.SingleFrame
PageSerialization.MhtmlGeneration.RendererMainThreadTime.SingleFrame
PageSerialization.MhtmlGeneration.SerializationTime.SingleFrame
PageSerialization.SerializationTime.Html
*PageSerialization.SerializationTime.CSSElement
*PageSerialization.SerializationTime.ImageElement
PageSerialization.MhtmlGeneration.EncodingTime.SingleFrame
PageSerialization.MhtmlGeneration.WriteToDiskTime.SingleFrame
*: may be executed many times under its parent.
BUG=645686
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/2364923004
Cr-Commit-Position: refs/heads/master@{#421989}
10 files changed