Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enabled DebugTracing feature for old reconciler fork #19161

Merged
merged 2 commits into from
Jun 23, 2020

Conversation

bvaughn
Copy link
Contributor

@bvaughn bvaughn commented Jun 19, 2020

Debug tracing was reverted in #19159 because of a regression in commitRootImpl. This PR re-adds it without that regression.


Original commit message

It was temporarily removed by @sebmarkbage via PR #18697. Newly re-added tracing is simplified, since the lane(s) data type does not require the (lossy) conversion between priority and expiration time values.

@sebmarkbage mentioned that he removed this because it might get in the way of his planned discrete/sync refactor. I'm not sure if that concern still applies, but just in case- I have only re-added it to the old reconciler fork for now.

It was temporarily removed by @sebmarkbage via PR facebook#18697. Newly re-added tracing is simplified, since the lane(s) data type does not require the (lossy) conversion between priority and expiration time values.

@sebmarkbage mentioned that he removed this because it might get in the way of his planned discrete/sync refactor. I'm not sure if that concern still applies, but just in case- I have only re-added it to the old reconciler fork for now.
@bvaughn bvaughn requested review from lunaruan and acdlite June 19, 2020 13:46
@bvaughn bvaughn force-pushed the unrevert-debugTracing branch from 01451bb to 87860f5 Compare June 19, 2020 13:46
@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Jun 19, 2020
bvaughn referenced this pull request Jun 19, 2020
It was temporarily removed by @sebmarkbage via PR #18697. Newly re-added tracing is simplified, since the lane(s) data type does not require the (lossy) conversion between priority and expiration time values.

@sebmarkbage mentioned that he removed this because it might get in the way of his planned discrete/sync refactor. I'm not sure if that concern still applies, but just in case- I have only re-added it to the old reconciler fork for now.
@sizebot
Copy link

sizebot commented Jun 19, 2020

Details of bundled changes.

Comparing: d1d9054...feb7b1a

react-art

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-art.development.js -0.0% -0.0% 685.9 KB 685.67 KB 145.19 KB 145.15 KB UMD_DEV
react-art.production.min.js 0.0% -0.0% 112.35 KB 112.35 KB 34.75 KB 34.75 KB UMD_PROD
react-art.development.js -0.0% -0.0% 587.52 KB 587.29 KB 127.39 KB 127.35 KB NODE_DEV
react-art.production.min.js 0.0% -0.0% 77.31 KB 77.31 KB 23.89 KB 23.89 KB NODE_PROD
ReactART-dev.js +1.0% +0.9% 610.26 KB 616.23 KB 130 KB 131.15 KB FB_WWW_DEV

react-dom

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-dom.development.js -0.0% -0.0% 923.16 KB 922.92 KB 209.82 KB 209.77 KB NODE_DEV
ReactDOMForked-prod.js 0.0% 0.0% 395.61 KB 395.61 KB 73.4 KB 73.41 KB FB_WWW_PROD
react-dom-server.node.development.js 0.0% -0.0% 138.25 KB 138.25 KB 36.58 KB 36.58 KB NODE_DEV
react-dom.production.min.js 0.0% -0.0% 126.77 KB 126.77 KB 40.33 KB 40.33 KB NODE_PROD
ReactDOMForked-profiling.js 0.0% 0.0% 406.15 KB 406.15 KB 75.16 KB 75.17 KB FB_WWW_PROFILING
react-dom-server.browser.development.js 0.0% -0.0% 144.38 KB 144.38 KB 36.78 KB 36.78 KB UMD_DEV
react-dom-server.node.production.min.js 0.0% -0.0% 20.68 KB 20.68 KB 7.66 KB 7.66 KB NODE_PROD
react-dom-test-utils.production.min.js 0.0% -0.0% 13.18 KB 13.18 KB 4.9 KB 4.9 KB UMD_PROD
ReactDOMTesting-dev.js -0.0% -0.0% 953.06 KB 952.82 KB 214.18 KB 214.12 KB FB_WWW_DEV
react-dom-test-utils.development.js 0.0% -0.0% 70.09 KB 70.09 KB 19.6 KB 19.6 KB NODE_DEV
ReactDOMTesting-prod.js 0.0% 0.0% 394.87 KB 394.87 KB 74.51 KB 74.51 KB FB_WWW_PROD
react-dom-unstable-fizz.node.development.js 0.0% -0.2% 5.61 KB 5.61 KB 1.87 KB 1.86 KB NODE_DEV
react-dom-test-utils.production.min.js 0.0% -0.0% 13.06 KB 13.06 KB 4.81 KB 4.8 KB NODE_PROD
react-dom-unstable-fizz.browser.development.js 0.0% -0.1% 5.36 KB 5.36 KB 1.8 KB 1.8 KB UMD_DEV
react-dom-unstable-fizz.node.production.min.js 0.0% -0.1% 1.17 KB 1.17 KB 667 B 666 B NODE_PROD
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.3% 1.2 KB 1.2 KB 706 B 704 B UMD_PROD
react-dom-unstable-fizz.browser.development.js 0.0% -0.1% 4.87 KB 4.87 KB 1.7 KB 1.7 KB NODE_DEV
react-dom.development.js -0.0% -0.0% 970.03 KB 969.8 KB 212.58 KB 212.54 KB UMD_DEV
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.2% 1.01 KB 1.01 KB 616 B 615 B NODE_PROD
react-dom.production.min.js 0.0% -0.0% 126.55 KB 126.55 KB 41.2 KB 41.2 KB UMD_PROD
ReactDOMForked-dev.js -0.0% -0.0% 972.47 KB 972.47 KB 217.11 KB 217.11 KB FB_WWW_DEV
react-dom.profiling.min.js 0.0% -0.0% 130.9 KB 130.9 KB 41.51 KB 41.51 KB NODE_PROFILING
react-dom-server.browser.production.min.js 0.0% -0.0% 20.34 KB 20.34 KB 7.52 KB 7.52 KB UMD_PROD
ReactDOM-dev.js +0.6% +0.5% 973.62 KB 979.58 KB 217.22 KB 218.4 KB FB_WWW_DEV
ReactDOM-prod.js 0.0% 0.0% 395.81 KB 395.81 KB 73.42 KB 73.42 KB FB_WWW_PROD
react-dom-server.browser.development.js 0.0% -0.0% 136.98 KB 136.98 KB 36.33 KB 36.33 KB NODE_DEV
react-dom-server.browser.production.min.js 0.0% -0.0% 20.26 KB 20.26 KB 7.51 KB 7.51 KB NODE_PROD
ReactDOMServer-dev.js 0.0% -0.0% 142.51 KB 142.51 KB 36.26 KB 36.26 KB FB_WWW_DEV
react-dom-test-utils.development.js 0.0% -0.0% 75.26 KB 75.26 KB 20.1 KB 20.1 KB UMD_DEV

ReactDOM: size: 0.0%, gzip: -0.0%

Size changes (experimental)

Generated by 🚫 dangerJS against feb7b1a

@sizebot
Copy link

sizebot commented Jun 19, 2020

Details of bundled changes.

Comparing: d1d9054...feb7b1a

react-art

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
ReactART-prod.js 0.0% 0.0% 247.36 KB 247.36 KB 43.74 KB 43.74 KB FB_WWW_PROD
react-art.development.js -0.0% -0.0% 663.74 KB 663.51 KB 141.11 KB 141.07 KB UMD_DEV
react-art.production.min.js 0.0% -0.0% 109.4 KB 109.4 KB 33.85 KB 33.85 KB UMD_PROD
react-art.development.js -0.0% -0.0% 566.27 KB 566.04 KB 123.35 KB 123.3 KB NODE_DEV
react-art.production.min.js 0.0% -0.0% 74.42 KB 74.42 KB 23.03 KB 23.02 KB NODE_PROD
ReactART-dev.js +1.0% +0.9% 620.28 KB 626.24 KB 132.03 KB 133.19 KB FB_WWW_DEV

react-dom

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-dom.development.js -0.0% -0.0% 892.73 KB 892.49 KB 204.25 KB 204.21 KB NODE_DEV
react-dom-server.node.development.js 0.0% -0.0% 136.74 KB 136.74 KB 36.38 KB 36.38 KB NODE_DEV
react-dom.production.min.js 0.0% -0.0% 122.3 KB 122.3 KB 39.03 KB 39.03 KB NODE_PROD
react-dom-test-utils.production.min.js 0.0% -0.0% 13.17 KB 13.17 KB 4.89 KB 4.89 KB UMD_PROD
ReactDOMTesting-dev.js -0.0% -0.0% 978.85 KB 978.62 KB 219.83 KB 219.78 KB FB_WWW_DEV
react-dom-test-utils.development.js 0.0% -0.0% 70.08 KB 70.08 KB 19.59 KB 19.59 KB NODE_DEV
ReactDOMTesting-prod.js 0.0% 0.0% 406.84 KB 406.84 KB 76.47 KB 76.47 KB FB_WWW_PROD
react-dom-test-utils.production.min.js 0.0% -0.0% 13.05 KB 13.05 KB 4.8 KB 4.8 KB NODE_PROD
react-dom.development.js -0.0% -0.0% 938.25 KB 938.01 KB 206.9 KB 206.86 KB UMD_DEV
react-dom.production.min.js 0.0% -0.0% 122.16 KB 122.16 KB 39.92 KB 39.92 KB UMD_PROD
react-dom.profiling.min.js 0.0% -0.0% 126.07 KB 126.07 KB 41.09 KB 41.08 KB UMD_PROFILING
ReactDOMForked-dev.js -0.0% -0.0% 998.02 KB 998.02 KB 222.93 KB 222.92 KB FB_WWW_DEV
react-dom.profiling.min.js 0.0% -0.0% 126.38 KB 126.38 KB 40.25 KB 40.25 KB NODE_PROFILING
ReactDOM-dev.js +0.6% +0.5% 999.16 KB 1005.13 KB 223.04 KB 224.2 KB FB_WWW_DEV
react-dom-server.browser.development.js 0.0% -0.0% 135.46 KB 135.46 KB 36.13 KB 36.12 KB NODE_DEV
react-dom-server.browser.production.min.js 0.0% -0.0% 19.8 KB 19.8 KB 7.43 KB 7.43 KB NODE_PROD
ReactDOMServer-dev.js 0.0% -0.0% 146.54 KB 146.54 KB 37.26 KB 37.26 KB FB_WWW_DEV
react-dom-test-utils.development.js 0.0% -0.0% 75.25 KB 75.25 KB 20.09 KB 20.09 KB UMD_DEV

ReactDOM: size: 0.0%, gzip: -0.0%

Size changes (stable)

Generated by 🚫 dangerJS against feb7b1a

@bvaughn
Copy link
Contributor Author

bvaughn commented Jun 19, 2020

CI failure from Code Sandbox is unrelated 😦

Error: EACCES: permission denied, mkdir '/tmp/output/react'

@bvaughn
Copy link
Contributor Author

bvaughn commented Jun 19, 2020

I had hoped to add a test that caught the previous regression, but I haven't been able to trigger it. As a sanity check, I also added an intentional throw statement if the lanes differed before and after, and run all of our tests and none of them triggered it either.

Open to suggestions!

@acdlite
Copy link
Collaborator

acdlite commented Jun 19, 2020

@lunaruan is working on getting a repro so we can write a test that mimics the actual scenario that came up

@bvaughn
Copy link
Contributor Author

bvaughn commented Jun 19, 2020

@acdlite Good to hear. I'll be happy to help her dig into this on Monday if she's interested 😄

Given that this PR is purely additive (some new logging, nothing moved around or otherwise changed) do you think the PR needs to block on that test? Seems pretty safe IMO.

@acdlite
Copy link
Collaborator

acdlite commented Jun 20, 2020

The only reason I would want to block the PR is to make sure we follow through on adding a test for the bug that manifested in www. The fact that we don't fully understand what happened implies to me that it's likely an important regression.

I had asked @lunaruan not to land a fix without a test because 1) I don't think it's blocking anything, since the profiler work can use this PR as a reference, and 2) I'm guessing it won't take more than a day or two to narrow down the bug.

But if you decide to merge without a test, I trust y'all to follow up with a test after.

@bvaughn
Copy link
Contributor Author

bvaughn commented Jun 22, 2020

That makes sense. I'll check in with @lunaruan once she's in this morning about the test. I'll decide after talking to her whether I wait to reland this or not.

@bvaughn
Copy link
Contributor Author

bvaughn commented Jun 23, 2020

Luna and I have been unable to repro this so far (either in a test or with application usage). We have a pairing session tomorrow to look into it with the person who reported the regression internally. Hopefully he can repro it while we're watching.

I am going to reland this now. In my mind, the test is now decoupled from this PR anyway since this PR no longer moves anything around.

@bvaughn bvaughn merged commit 1425fcb into facebook:master Jun 23, 2020
@bvaughn bvaughn deleted the unrevert-debugTracing branch June 23, 2020 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants