diff --git a/packages/next/client/dev/error-overlay/hot-dev-client.js b/packages/next/client/dev/error-overlay/hot-dev-client.js index 6dc6547ce5842..602c92e51b21d 100644 --- a/packages/next/client/dev/error-overlay/hot-dev-client.js +++ b/packages/next/client/dev/error-overlay/hot-dev-client.js @@ -179,7 +179,11 @@ function onFastRefresh(hasUpdates) { DevOverlay.onRefresh() } - console.log('[Fast Refresh] done') + const latency = Date.now() - startLatency + console.log(`[Fast Refresh] done in ${latency}ms`) + if (self.__NEXT_HMR_LATENCY_CB) { + self.__NEXT_HMR_LATENCY_CB(latency) + } } // There is a newer version of the code available. @@ -188,11 +192,14 @@ function handleAvailableHash(hash) { mostRecentCompilationHash = hash } +let startLatency = undefined + // Handle messages from the server. function processMessage(e) { const obj = JSON.parse(e.data) switch (obj.action) { case 'building': { + startLatency = Date.now() console.log('[Fast Refresh] rebuilding') break }