Skip to content

Conversation

@huntie
Copy link
Member

@huntie huntie commented Oct 23, 2025

Summary

Updates ReactFiberPerformanceTrack.js to report a React Native Performance Issue (rnPerfIssue, see facebook/react-native#54265) when emitting a Cascading Update trace event when __DEV__ is set.

How did you test this change?

Tested end to end with the experiment in React Native. [Meta only]: See test plan of D85448199.

@meta-cla meta-cla bot added the CLA Signed label Oct 23, 2025
@react-sizebot
Copy link

react-sizebot commented Oct 23, 2025

Comparing: b4455a6...c5f34e7

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 605.41 kB 605.41 kB = 107.22 kB 107.22 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 664.38 kB 664.38 kB = 117.09 kB 117.09 kB
facebook-www/ReactDOM-prod.classic.js = 688.25 kB 688.25 kB = 121.13 kB 121.13 kB
facebook-www/ReactDOM-prod.modern.js = 678.67 kB 678.67 kB = 119.48 kB 119.48 kB
react-native/implementations/ReactNativeRenderer-dev.fb.js New file 0.00 kB 782.08 kB New file 0.00 kB 123.95 kB
react-native/implementations/ReactNativeRenderer-dev.js New file 0.00 kB 785.07 kB New file 0.00 kB 125.41 kB
react-native/implementations/ReactNativeRenderer-prod.fb.js New file 0.00 kB 394.56 kB New file 0.00 kB 68.19 kB
react-native/implementations/ReactNativeRenderer-prod.js New file 0.00 kB 404.76 kB New file 0.00 kB 69.60 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js New file 0.00 kB 469.72 kB New file 0.00 kB 78.26 kB
react-native/implementations/ReactNativeRenderer-profiling.js New file 0.00 kB 470.59 kB New file 0.00 kB 79.05 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-dev.js +2.03% 603.76 kB 615.98 kB +1.67% 96.99 kB 98.61 kB
react-native/implementations/ReactFabric-prod.js +2.02% 376.39 kB 383.99 kB +1.60% 65.35 kB 66.40 kB
facebook-react-native/react-dom/cjs/ReactDOM-dev.js = 17.20 kB 16.74 kB = 3.74 kB 3.60 kB
facebook-react-native/react-dom/cjs/ReactDOM-prod.js = 6.68 kB 6.48 kB = 1.83 kB 1.81 kB
facebook-react-native/react-dom/cjs/ReactDOM-profiling.js = 6.68 kB 6.48 kB = 1.83 kB 1.81 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.development.js = 404.17 kB 385.15 kB = 75.52 kB 73.76 kB
oss-stable/react-dom/cjs/react-dom-server.bun.development.js = 383.41 kB 364.39 kB = 72.58 kB 70.83 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.development.js = 383.34 kB 364.32 kB = 72.55 kB 70.80 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js = 295.45 kB 276.52 kB = 51.37 kB 49.57 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js = 278.64 kB 259.70 kB = 48.97 kB 47.17 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js = 278.56 kB 259.62 kB = 48.94 kB 47.14 kB
react-native/shims/ReactNative.js = 0.60 kB 0.53 kB = 0.34 kB 0.30 kB
oss-experimental/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB
oss-stable-semver/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB
oss-stable/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
react-native/implementations/ReactNativeRenderer-dev.fb.js New file 0.00 kB 782.08 kB New file 0.00 kB 123.95 kB
react-native/implementations/ReactNativeRenderer-dev.js New file 0.00 kB 785.07 kB New file 0.00 kB 125.41 kB
react-native/implementations/ReactNativeRenderer-prod.fb.js New file 0.00 kB 394.56 kB New file 0.00 kB 68.19 kB
react-native/implementations/ReactNativeRenderer-prod.js New file 0.00 kB 404.76 kB New file 0.00 kB 69.60 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js New file 0.00 kB 469.72 kB New file 0.00 kB 78.26 kB
react-native/implementations/ReactNativeRenderer-profiling.js New file 0.00 kB 470.59 kB New file 0.00 kB 79.05 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-dev.js +2.03% 603.76 kB 615.98 kB +1.67% 96.99 kB 98.61 kB
react-native/implementations/ReactFabric-prod.js +2.02% 376.39 kB 383.99 kB +1.60% 65.35 kB 66.40 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-profiling.js +1.98% 362.19 kB 369.36 kB +1.86% 62.13 kB 63.29 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-prod.js +1.95% 337.97 kB 344.56 kB +2.00% 58.76 kB 59.93 kB
react-native/implementations/ReactFabric-profiling.js +1.86% 450.55 kB 458.93 kB +1.61% 75.95 kB 77.17 kB
react-native/implementations/ReactFabric-prod.fb.js +1.72% 381.15 kB 387.71 kB +1.72% 66.11 kB 67.24 kB
react-native/implementations/ReactFabric-dev.js +1.72% 757.28 kB 770.30 kB +1.65% 121.16 kB 123.15 kB
react-native/implementations/ReactFabric-dev.fb.js +1.70% 760.76 kB 773.71 kB +1.62% 120.69 kB 122.64 kB
react-native/implementations/ReactFabric-profiling.fb.js +1.59% 455.77 kB 463.00 kB +1.56% 76.14 kB 77.32 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-dev.js +1.30% 1,135.33 kB 1,150.04 kB +1.12% 187.59 kB 189.69 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-dev.js +1.23% 1,152.18 kB 1,166.31 kB +1.04% 190.51 kB 192.48 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-prod.js +1.23% 585.28 kB 592.45 kB +1.12% 103.23 kB 104.39 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-profiling.js +1.19% 661.81 kB 669.70 kB +1.16% 113.38 kB 114.70 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-prod.js +1.17% 591.04 kB 597.95 kB +1.11% 104.30 kB 105.45 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-profiling.js +1.14% 668.01 kB 675.63 kB +1.15% 114.54 kB 115.86 kB
facebook-react-native/react/cjs/React-dev.js +1.00% 52.09 kB 52.61 kB +0.58% 11.54 kB 11.61 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 226.24 kB 225.74 kB = 49.92 kB 49.86 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 225.08 kB 224.59 kB = 49.73 kB 49.67 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js = 225.06 kB 224.56 kB = 49.71 kB 49.65 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 189.56 kB 189.14 kB = 33.15 kB 33.10 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 189.54 kB 189.12 kB = 33.13 kB 33.09 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 188.68 kB 188.27 kB = 33.01 kB 32.96 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.development.js = 188.68 kB 188.27 kB = 33.01 kB 32.96 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 188.66 kB 188.24 kB = 32.99 kB 32.95 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.development.js = 188.66 kB 188.24 kB = 32.99 kB 32.95 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 188.13 kB 187.71 kB = 32.88 kB 32.83 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 187.25 kB 186.83 kB = 32.74 kB 32.70 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.development.js = 187.25 kB 186.83 kB = 32.74 kB 32.70 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 186.42 kB 186.01 kB = 32.60 kB 32.56 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 185.55 kB 185.13 kB = 32.47 kB 32.42 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.development.js = 185.55 kB 185.13 kB = 32.47 kB 32.42 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 184.84 kB 184.42 kB = 32.59 kB 32.55 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 184.67 kB 184.25 kB = 32.55 kB 32.50 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 184.21 kB 183.80 kB = 32.42 kB 32.39 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 183.95 kB 183.53 kB = 32.45 kB 32.41 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.development.js = 183.90 kB 183.48 kB = 32.43 kB 32.39 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 183.80 kB 183.38 kB = 32.40 kB 32.35 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js = 183.80 kB 183.38 kB = 32.40 kB 32.35 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 183.50 kB 183.08 kB = 32.41 kB 32.36 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 183.48 kB 183.06 kB = 32.39 kB 32.35 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 183.33 kB 182.91 kB = 32.28 kB 32.24 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.development.js = 183.28 kB 182.86 kB = 32.26 kB 32.22 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 182.59 kB 182.17 kB = 32.27 kB 32.22 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js = 182.59 kB 182.17 kB = 32.27 kB 32.22 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 182.57 kB 182.15 kB = 32.25 kB 32.21 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.development.js = 182.57 kB 182.15 kB = 32.25 kB 32.21 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 181.64 kB 181.22 kB = 31.95 kB 31.90 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 180.75 kB 180.33 kB = 31.80 kB 31.75 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js = 180.70 kB 180.28 kB = 31.78 kB 31.73 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 180.27 kB 179.85 kB = 31.89 kB 31.85 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 179.68 kB 179.26 kB = 31.49 kB 31.45 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 179.36 kB 178.94 kB = 31.75 kB 31.71 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.development.js = 179.36 kB 178.94 kB = 31.75 kB 31.71 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 178.79 kB 178.37 kB = 31.35 kB 31.30 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.development.js = 178.74 kB 178.32 kB = 31.32 kB 31.28 kB
oss-experimental/react-client/cjs/react-client-flight.development.js = 175.02 kB 174.60 kB = 30.44 kB 30.40 kB
oss-stable/react-client/cjs/react-client-flight.development.js = 174.14 kB 173.72 kB = 30.29 kB 30.24 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js = 174.12 kB 173.70 kB = 30.26 kB 30.22 kB
oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 94.93 kB 94.45 kB = 19.37 kB 19.31 kB
oss-stable-semver/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 94.14 kB 93.66 kB = 19.26 kB 19.20 kB
oss-stable/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js = 94.14 kB 93.66 kB = 19.26 kB 19.20 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 71.71 kB 71.34 kB = 14.01 kB 13.98 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 71.69 kB 71.32 kB = 14.00 kB 13.97 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 71.07 kB 70.71 kB = 13.87 kB 13.84 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.production.js = 71.07 kB 70.71 kB = 13.87 kB 13.84 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 71.05 kB 70.68 kB = 13.86 kB 13.83 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js = 71.05 kB 70.68 kB = 13.86 kB 13.83 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 70.53 kB 70.17 kB = 13.77 kB 13.74 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 69.90 kB 69.53 kB = 13.63 kB 13.60 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.node.unbundled.production.js = 69.90 kB 69.53 kB = 13.63 kB 13.60 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 68.41 kB 68.04 kB = 13.34 kB 13.32 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 67.77 kB 67.41 kB = 13.21 kB 13.19 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.node.production.js = 67.77 kB 67.41 kB = 13.21 kB 13.19 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js = 67.25 kB 66.88 kB = 13.07 kB 13.04 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js = 67.11 kB 66.74 kB = 13.33 kB 13.30 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js = 67.09 kB 66.72 kB = 13.31 kB 13.28 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js = 66.61 kB 66.24 kB = 12.95 kB 12.92 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js = 66.61 kB 66.24 kB = 12.95 kB 12.92 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js = 66.51 kB 66.14 kB = 13.21 kB 13.18 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.production.js = 66.51 kB 66.14 kB = 13.21 kB 13.18 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js = 66.49 kB 66.12 kB = 13.20 kB 13.16 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.edge.production.js = 66.49 kB 66.12 kB = 13.20 kB 13.16 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 64.01 kB 63.65 kB = 12.71 kB 12.68 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 63.41 kB 63.05 kB = 12.60 kB 12.57 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.edge.production.js = 63.41 kB 63.05 kB = 12.60 kB 12.57 kB
oss-experimental/react-client/cjs/react-client-flight.production.js = 66.75 kB 66.37 kB = 12.09 kB 12.06 kB
oss-stable/react-client/cjs/react-client-flight.production.js = 66.19 kB 65.80 kB = 11.97 kB 11.94 kB
oss-stable-semver/react-client/cjs/react-client-flight.production.js = 66.16 kB 65.77 kB = 11.95 kB 11.92 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 61.12 kB 60.76 kB = 12.06 kB 12.02 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 60.75 kB 60.39 kB = 11.98 kB 11.94 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 60.52 kB 60.15 kB = 11.94 kB 11.90 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.browser.production.js = 60.52 kB 60.15 kB = 11.94 kB 11.90 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 60.15 kB 59.79 kB = 11.85 kB 11.82 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.browser.production.js = 60.15 kB 59.79 kB = 11.85 kB 11.82 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 58.78 kB 58.41 kB = 11.57 kB 11.54 kB
oss-experimental/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 58.49 kB 58.12 kB = 11.50 kB 11.46 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 58.18 kB 57.81 kB = 11.45 kB 11.41 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js = 58.18 kB 57.81 kB = 11.45 kB 11.41 kB
oss-stable-semver/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 57.89 kB 57.52 kB = 11.37 kB 11.33 kB
oss-stable/react-server-dom-parcel/cjs/react-server-dom-parcel-client.browser.production.js = 57.89 kB 57.52 kB = 11.37 kB 11.33 kB
oss-experimental/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js = 2,143.17 kB 2,128.85 kB = 307.76 kB 305.55 kB
oss-stable-semver/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js = 2,143.17 kB 2,128.85 kB = 307.76 kB 305.55 kB
oss-stable/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js = 2,143.17 kB 2,128.85 kB = 307.76 kB 305.55 kB
oss-experimental/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js = 2,138.70 kB 2,124.38 kB = 306.76 kB 304.55 kB
oss-stable-semver/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js = 2,138.70 kB 2,124.38 kB = 306.76 kB 304.55 kB
oss-stable/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.js = 2,138.70 kB 2,124.38 kB = 306.76 kB 304.55 kB
facebook-react-native/react-dom/cjs/ReactDOM-dev.js = 17.20 kB 16.74 kB = 3.74 kB 3.60 kB
facebook-react-native/react-dom/cjs/ReactDOM-prod.js = 6.68 kB 6.48 kB = 1.83 kB 1.81 kB
facebook-react-native/react-dom/cjs/ReactDOM-profiling.js = 6.68 kB 6.48 kB = 1.83 kB 1.81 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.development.js = 404.17 kB 385.15 kB = 75.52 kB 73.76 kB
oss-stable/react-dom/cjs/react-dom-server.bun.development.js = 383.41 kB 364.39 kB = 72.58 kB 70.83 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.development.js = 383.34 kB 364.32 kB = 72.55 kB 70.80 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js = 295.45 kB 276.52 kB = 51.37 kB 49.57 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js = 278.64 kB 259.70 kB = 48.97 kB 47.17 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js = 278.56 kB 259.62 kB = 48.94 kB 47.14 kB
react-native/shims/ReactNative.js = 0.60 kB 0.53 kB = 0.34 kB 0.30 kB
oss-experimental/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB
oss-stable-semver/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB
oss-stable/react-dom/server.bun.js = 0.68 kB 0.56 kB = 0.26 kB 0.25 kB

Generated by 🚫 dangerJS against c5f34e7

huntie added a commit to huntie/react-native that referenced this pull request Oct 24, 2025
Summary:
Introduces the concept of **Performance Issues**, an experimental performance signals concept for React Native.

**Design**

Performance Issues are an **experimental** user space API via the User Timings [`devtools` object](https://developer.chrome.com/docs/devtools/performance/extension#devtools_object).

```
performance.measure({
  start,
  end,
  detail: {
    devtools: {
      ...
      rnIssueLevel: 'info' | 'warning' | 'error'
    }
  }
});
```

When `rnIssueLevel` is present, we eagerly report an the event over CDP, regardless of an active performance trace, via the `"__react_native_perf_issues_reporter"` runtime binding.

**This diff**

- Adds a `perfIssuesEnabled` feature flag.
- Initial implementation of the above API.
- Initially reports a "Cascading Render" issue, aligning 1:1 with the corresponding React performance track event (note: to be added in the React codebase, see facebook/react#34961).

This feature is gated by the `perfMonitorV2Enabled` feature flag.

Changelog: [Internal]

Differential Revision: D85448200
@huntie huntie force-pushed the rn-perf-issues branch 2 times, most recently from 6038817 to cfba372 Compare October 27, 2025 15:01
@huntie huntie changed the title [Tracks] Annotate rnIssueLevel for Cascading Updates in DEV [Tracks] Annotate rnPerfIssue for Cascading Updates in DEV Oct 28, 2025
name: 'React: Cascading Update',
severity: 'warning',
description:
'A cascading update is a update that is triggered by a previous update. This can lead to performance issues and should be avoided.',
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hoxyq Let me know what you think about this description and if we can improve it (as you wrote the docs!)

@huntie huntie marked this pull request as ready for review October 28, 2025 11:56
huntie added a commit to huntie/react-native that referenced this pull request Oct 28, 2025
Summary:

Introduces the concept of **Performance Issues**, an experimental performance signals concept for React Native.

**Design**

Performance Issues are an **experimental** user space API via the User Timings `detail` object.

```
performance.measure({
  start,
  end,
  detail: {
    devtools: {
      ...
    },
   rnPerfIssue: {
     name: 'React: Cascading Update',
     severity: 'warning', // 'info' | 'warning' | 'error',
     description:
      'A cascading update is a update that is triggered by a previous update. This can lead to performance issues and should be avoided.',
    learnMoreUrl:
      'https://react.dev/reference/dev-tools/react-performance-tracks#cascading-updates',
    }
  }
});
```

When `rnPerfIssue` is present, we eagerly report an the event over CDP, regardless of an active performance trace, via the `"__react_native_perf_issues_reporter"` runtime binding.

**This diff**

- Adds a `perfIssuesEnabled` feature flag.
- Initial implementation of the above API.
- Initially reports a "Cascading Render" issue, aligning 1:1 with the corresponding React performance track event (note: to be added in the React codebase, see facebook/react#34961).

This feature is gated by the `perfMonitorV2Enabled` feature flag.

Changelog: [Internal]

Differential Revision: D85448200
huntie added a commit to huntie/react-native that referenced this pull request Oct 28, 2025
…ate payload structure for Performance Issues (facebook#54265)

Summary:
Pull Request resolved: facebook#54265

Introduces the concept of **Performance Issues**, an experimental performance signals concept for React Native.

**Design**

Performance Issues are an **experimental** user space API via the User Timings `detail` object.

```
performance.measure({
  start,
  end,
  detail: {
    devtools: {
      ...
    },
   rnPerfIssue: {
     name: 'React: Cascading Update',
     severity: 'warning', // 'info' | 'warning' | 'error',
     description:
      'A cascading update is a update that is triggered by a previous update. This can lead to performance issues and should be avoided.',
    learnMoreUrl:
      'https://react.dev/reference/dev-tools/react-performance-tracks#cascading-updates',
    }
  }
});
```

When `rnPerfIssue` is present, we eagerly report an the event over CDP, regardless of an active performance trace, via the `"__react_native_perf_issues_reporter"` runtime binding.

**This diff**

- Adds a `perfIssuesEnabled` feature flag.
- Initial implementation of the above API.
- Initially reports a "Cascading Render" issue, aligning 1:1 with the corresponding React performance track event (note: to be added in the React codebase, see facebook/react#34961).

This feature is gated by the `perfMonitorV2Enabled` feature flag.

Changelog: [Internal]

Differential Revision: D85448200
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants