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

fix(metro): Conditionally use Set or CountingSet in Sentry Metro plugin #3409

Merged
merged 6 commits into from
Nov 22, 2023

Conversation

krystofwoldrich
Copy link
Member

@krystofwoldrich krystofwoldrich commented Nov 21, 2023

📢 Type of change

  • Bugfix

📜 Description

This PR checks if CountingSet exists, if not NodeJS Set is used as a fallback.

CountingSet was added in Metro 0.72.0 before NodeJS Set was used.

This PR also fixed the tests so that the parent dir node modules are not used during the build of the test Apps. As due to that the e2e tests were OK although they should not.

💡 Motivation and Context

💚 How did you test it?

e2e tests, locally run 0.65.3 build

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • All tests passing
  • No breaking changes

🔮 Next steps

Copy link
Contributor

github-actions bot commented Nov 21, 2023

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 407.62 ms 426.54 ms 18.92 ms
Size 17.73 MiB 19.84 MiB 2.11 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e5c9b8b 409.02 ms 426.66 ms 17.64 ms
d0bf494+dirty 375.37 ms 395.14 ms 19.77 ms
575f9da 415.26 ms 422.98 ms 7.72 ms
0db0c72 372.12 ms 386.00 ms 13.88 ms
e73f4ed+dirty 332.96 ms 354.33 ms 21.37 ms
acadc0f+dirty 373.24 ms 381.51 ms 8.27 ms
8900e1a+dirty 430.68 ms 456.13 ms 25.44 ms
3ffcddd 302.92 ms 315.80 ms 12.88 ms
d361d38 354.10 ms 381.69 ms 27.59 ms
f06c879 408.41 ms 424.54 ms 16.13 ms

App size

Revision Plain With Sentry Diff
e5c9b8b 17.73 MiB 19.83 MiB 2.10 MiB
d0bf494+dirty 17.73 MiB 19.75 MiB 2.02 MiB
575f9da 17.73 MiB 19.83 MiB 2.10 MiB
0db0c72 17.73 MiB 19.75 MiB 2.02 MiB
e73f4ed+dirty 17.73 MiB 20.04 MiB 2.31 MiB
acadc0f+dirty 17.73 MiB 19.75 MiB 2.01 MiB
8900e1a+dirty 17.73 MiB 19.75 MiB 2.01 MiB
3ffcddd 17.73 MiB 19.75 MiB 2.02 MiB
d361d38 17.73 MiB 19.81 MiB 2.08 MiB
f06c879 17.73 MiB 19.85 MiB 2.12 MiB

Copy link
Contributor

github-actions bot commented Nov 21, 2023

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1254.08 ms 1258.02 ms 3.94 ms
Size 2.36 MiB 2.87 MiB 519.89 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d0bf494+dirty 1289.40 ms 1298.40 ms 9.00 ms
3853f43+dirty 1221.82 ms 1242.64 ms 20.82 ms
e73f4ed+dirty 1243.27 ms 1244.52 ms 1.25 ms
9c48b2c+dirty 1246.96 ms 1255.73 ms 8.77 ms
27ef4ee+dirty 1293.52 ms 1296.08 ms 2.56 ms
6e8584e+dirty 1274.50 ms 1296.82 ms 22.32 ms
acadc0f+dirty 1264.38 ms 1290.06 ms 25.68 ms
8900e1a+dirty 1210.27 ms 1218.66 ms 8.39 ms
e2b64fe+dirty 1232.22 ms 1255.20 ms 22.98 ms
e5c9b8b+dirty 1258.57 ms 1267.32 ms 8.75 ms

App size

Revision Plain With Sentry Diff
d0bf494+dirty 2.36 MiB 2.83 MiB 481.15 KiB
3853f43+dirty 2.36 MiB 2.85 MiB 499.81 KiB
e73f4ed+dirty 2.36 MiB 2.82 MiB 469.44 KiB
9c48b2c+dirty 2.36 MiB 2.85 MiB 495.77 KiB
27ef4ee+dirty 2.36 MiB 2.85 MiB 500.03 KiB
6e8584e+dirty 2.36 MiB 2.88 MiB 533.17 KiB
acadc0f+dirty 2.36 MiB 2.83 MiB 480.37 KiB
8900e1a+dirty 2.36 MiB 2.83 MiB 479.25 KiB
e2b64fe+dirty 2.36 MiB 2.85 MiB 495.80 KiB
e5c9b8b+dirty 2.36 MiB 2.87 MiB 520.43 KiB

Copy link
Contributor

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 600.17 ms 655.08 ms 54.91 ms
Size 7.15 MiB 8.11 MiB 984.07 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d0bf494+dirty 253.73 ms 308.23 ms 54.49 ms
3853f43+dirty 278.12 ms 338.72 ms 60.60 ms
e73f4ed+dirty 262.98 ms 311.02 ms 48.04 ms
9c48b2c+dirty 270.82 ms 321.12 ms 50.30 ms
27ef4ee+dirty 296.71 ms 351.00 ms 54.29 ms
6e8584e+dirty 383.37 ms 400.84 ms 17.47 ms
acadc0f+dirty 259.04 ms 304.67 ms 45.63 ms
8900e1a+dirty 371.40 ms 377.70 ms 6.31 ms
e2b64fe+dirty 258.82 ms 304.26 ms 45.44 ms
e5c9b8b+dirty 335.40 ms 360.06 ms 24.67 ms

App size

Revision Plain With Sentry Diff
d0bf494+dirty 7.15 MiB 8.04 MiB 910.85 KiB
3853f43+dirty 7.15 MiB 8.08 MiB 959.34 KiB
e73f4ed+dirty 7.15 MiB 8.09 MiB 965.94 KiB
9c48b2c+dirty 7.15 MiB 8.07 MiB 947.16 KiB
27ef4ee+dirty 7.15 MiB 8.08 MiB 959.49 KiB
6e8584e+dirty 7.15 MiB 8.13 MiB 1002.18 KiB
acadc0f+dirty 7.15 MiB 8.03 MiB 903.20 KiB
8900e1a+dirty 7.15 MiB 8.03 MiB 901.79 KiB
e2b64fe+dirty 7.15 MiB 8.07 MiB 947.16 KiB
e5c9b8b+dirty 7.15 MiB 8.10 MiB 980.41 KiB

Copy link
Member

@AbhiPrasad AbhiPrasad left a comment

Choose a reason for hiding this comment

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

Where are the docs for CountingSet?

src/js/tools/utils.ts Show resolved Hide resolved
@krystofwoldrich krystofwoldrich merged commit f99ea8a into main Nov 22, 2023
32 of 35 checks passed
@krystofwoldrich krystofwoldrich deleted the kw-fix-counting-set branch November 22, 2023 07:25
Copy link
Contributor

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

- Conditionally use Set or CountingSet in Sentry Metro plugin ([#3409](https://github.com/getsentry/sentry-react-native/pull/3409))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 5a16ab6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot upload: You must either specify a release or have debug ids injected into your sources
2 participants