MCPcopy
hub / github.com/vercel/next.js / markRenderComplete

Function markRenderComplete

packages/next/src/client/index.tsx:519–561  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

517}
518
519function markRenderComplete(): void {
520 if (!ST) return
521
522 performance.mark(performanceMarks.afterRender) // mark end of render
523 const navStartEntries: PerformanceEntryList = performance.getEntriesByName(
524 performanceMarks.routeChange,
525 'mark'
526 )
527
528 if (!navStartEntries.length) return
529
530 const hasBeforeRenderMark = performance.getEntriesByName(
531 performanceMarks.beforeRender,
532 'mark'
533 ).length
534
535 if (hasBeforeRenderMark) {
536 performance.measure(
537 performanceMeasures.routeChangeToRender,
538 navStartEntries[0].name,
539 performanceMarks.beforeRender
540 )
541 performance.measure(
542 performanceMeasures.render,
543 performanceMarks.beforeRender,
544 performanceMarks.afterRender
545 )
546 if (onPerfEntry) {
547 performance
548 .getEntriesByName(performanceMeasures.render)
549 .forEach(onPerfEntry)
550 performance
551 .getEntriesByName(performanceMeasures.routeChangeToRender)
552 .forEach(onPerfEntry)
553 }
554 }
555
556 clearMarks()
557 ;[
558 performanceMeasures.routeChangeToRender,
559 performanceMeasures.render,
560 ].forEach((measure) => performance.clearMeasures(measure))
561}
562
563function renderReactElement(
564 domEl: HTMLElement,

Callers

nothing calls this directly

Calls 4

clearMarksFunction · 0.85
markMethod · 0.80
measureMethod · 0.45
forEachMethod · 0.45

Tested by

no test coverage detected