mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-13 15:17:07 +00:00
Merge pull request #4110 from overleaf/jpa-omit-skewed-render-latency
[frontend] PdfJsMetrics: omit render time in case we detect hidden page GitOrigin-RevId: b1ae3b29dbb9764cf67f2f1b1e2f93c83fe67426
This commit is contained in:
parent
5988e03dac
commit
e1516aab2c
2 changed files with 16 additions and 1 deletions
|
@ -19,7 +19,11 @@ export function trackPdfDownload(response, compileTimeClientE2E) {
|
|||
// The renderer does not yield in case the browser tab is hidden.
|
||||
// It will yield when the browser tab is visible again.
|
||||
// This will skew our performance metrics for rendering!
|
||||
const latencyRender = timePDFRendered - timePDFFetched
|
||||
// We are omitting the render time in case we detect this state.
|
||||
let latencyRender
|
||||
if (timePDFRendered) {
|
||||
latencyRender = timePDFRendered - timePDFFetched
|
||||
}
|
||||
done({ latencyFetch, latencyRender })
|
||||
}
|
||||
function updateConsumedBandwidth(bytes) {
|
||||
|
|
|
@ -363,6 +363,17 @@ export default App.factory(
|
|||
return
|
||||
} // return from cancelled page load
|
||||
const timePDFFetched = performance.now()
|
||||
|
||||
const visible = !document.hidden
|
||||
if (!visible) {
|
||||
// Flush the fetch time early, omit the render time.
|
||||
if (typeof this.options.firstRenderDone === 'function') {
|
||||
this.options.firstRenderDone({ timePDFFetched })
|
||||
// Do not submit the actual rendering time.
|
||||
this.options.firstRenderDone = null
|
||||
}
|
||||
}
|
||||
|
||||
pageState.renderTask = this.doRender(element, pagenum, pageObject)
|
||||
return pageState.renderTask.promise.then(
|
||||
() => {
|
||||
|
|
Loading…
Add table
Reference in a new issue