This can cause long file names (URLs) to be truncated which in turn will break named hooks code (since it needs to load those file names).
Capture initial values as of the time profiling starts.
     It's important we snapshot both the durations and the id-to-root map,
     since either of these may change during the profiling session
     (e.g. when a fiber is re-rendered or when a fiber gets removed).
    displayNamesByRootID = new Map();
    initialTreeBaseDurationsMap = new Map(idToTreeBaseDurationMap);
    initialIDToRootMap = new Map(idToRootMap);
    idToContextsMap = new Map();
    hook.getFiberRoots(rendererID).forEach(root => {
      const rootID = getFiberIDThrows(root.current);
      ((displayNamesByRootID: any): DisplayNamesByRootID).set(
        rootID,
        getDisplayNameForRoot(root.current),
      );
      if (shouldRecordChangeDescriptions) {
         R
         F
         s
        crawlToInitializeContextsMap(root.current);
      }
    });
    isProfiling = true;
    profilingStartTime = getCurrentTime();
    rootToCommitProfilingMetadataMap = new Map();
  }
  function stopProfiling() {
    isProfiling = false;
    recordChangeDescriptions = false;
  }
   Automatically start profiling so that we don't miss timing info from initial "mount".