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

Remove profiling timeout logic and disable profiling on API 21 #3478

Merged
merged 3 commits into from
Jun 13, 2024

Conversation

stefanosiano
Copy link
Member

📜 Description

removed timeout logic from AndroidProfiler, as unused by the backend anyway, to fix potential profiling always or never running when one times out
removed API 21 from supported profiling versions, due to a crash

💡 Motivation and Context

Timeout logic of AndroidProfiler could make profiling run forever, if a transaction is started after another times out without finishing.
If a profile timed out and the transaction finished, profiling was not started anymore, due to a bug in the logic.
Relay drops timed out profiles anyway, so we don't need to handle them.
Also, profiling crash on API 21, which is 10 years old, so we dropped support for it.

💚 How did you test it?

Unit tests

📝 Checklist

  • I reviewed the submitted code.
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

🔮 Next steps

…anyway, to fix potential profiling always or never running when one times out

removed API 21 from supported profiling versions, due to a crash
@stefanosiano stefanosiano marked this pull request as ready for review June 13, 2024 11:14
Copy link
Contributor

github-actions bot commented Jun 13, 2024

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 415.29 ms 453.16 ms 37.87 ms
Size 1.70 MiB 2.28 MiB 592.35 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
d6d2b2e 463.14 ms 545.56 ms 82.42 ms
a3c77bc 375.80 ms 445.85 ms 70.06 ms
c7e2fbc 377.85 ms 426.35 ms 48.50 ms
f5e1b97 362.53 ms 429.31 ms 66.78 ms
7eccfdb 389.94 ms 461.29 ms 71.35 ms
f1fdb9f 404.21 ms 496.87 ms 92.66 ms
28c9a83 346.14 ms 377.76 ms 31.62 ms
baaf637 375.71 ms 441.58 ms 65.87 ms
283d83e 348.44 ms 392.06 ms 43.62 ms
61981dc 388.65 ms 454.96 ms 66.31 ms

App size

Revision Plain With Sentry Diff
d6d2b2e 1.72 MiB 2.27 MiB 555.05 KiB
a3c77bc 1.72 MiB 2.29 MiB 577.53 KiB
c7e2fbc 1.72 MiB 2.29 MiB 576.40 KiB
f5e1b97 1.70 MiB 2.28 MiB 592.00 KiB
7eccfdb 1.72 MiB 2.27 MiB 556.93 KiB
f1fdb9f 1.70 MiB 2.28 MiB 592.08 KiB
28c9a83 1.70 MiB 2.28 MiB 592.00 KiB
baaf637 1.72 MiB 2.27 MiB 558.42 KiB
283d83e 1.72 MiB 2.29 MiB 577.69 KiB
61981dc 1.70 MiB 2.28 MiB 592.12 KiB

Previous results on branch: fix/profiling-timeout

Startup times

Revision Plain With Sentry Diff
2995289 374.33 ms 451.27 ms 76.94 ms

App size

Revision Plain With Sentry Diff
2995289 1.70 MiB 2.28 MiB 592.35 KiB

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.

2 participants