While working on the DevTools profiler, I've noticed that durations are sometimes incorrect. This seems to be vaguely related to high/low priority state updates. Need to track this down more so I'm filing an issue for myself.
expect(call).toHaveLength(6);
      expect(call[0]).toBe('test');
      expect(call[1]).toBe('mount');
      expect(call[2]).toBe(10); 
      expect(call[3]).toBe(10); 
      expect(call[4]).toBe(5); 
      expect(call[5]).toBe(15); 
      callback.mockReset();
      advanceTimeBy(20); 
      renderer.update(
        <React.unstable_Profiler id="test" onRender={callback}>
          <AdvanceTime />
        </React.unstable_Profiler>,
      );
      expect(callback).toHaveBeenCalledTimes(1);
      [call] = callback.mock.calls;
      expect(call).toHaveLength(6);
      expect(call[0]).toBe('test');
      expect(call[1]).toBe('update');
      expect(call[2]).toBe(10); 
      expect(call[3]).toBe(10); 
      expect(call[4]).toBe(35); 
      expect(call[5]).toBe(45); 
      callback.mockReset();
      advanceTimeBy(20); 
      renderer.update(
        <React.unstable_Profiler id="test" onRender={callback}>
          <AdvanceTime byAmount={4} />
        </React.unstable_Profiler>,
      );