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

Report process init time for app start #3159

Merged
merged 9 commits into from
Feb 12, 2024
Merged

Conversation

markushi
Copy link
Member

@markushi markushi commented Jan 23, 2024

📜 Description

Example event: https://sentry-sdks.sentry.io/performance/sentry-android:5173ff17f6644be5b5fe016352349679
op: process.load, description: "Process Initialization"

image

💡 Motivation and Context

To better understand the app start, we want to surface the "system" potion of app start as well. It's mainly unactionable, but showcases how long it takes the system to start the app-process, load some resources and finally execute app specific code.

Fixes: #3152

💚 How did you test it?

📝 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

Copy link
Contributor

github-actions bot commented Jan 23, 2024

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against 0ff7cc7

@markushi
Copy link
Member Author

@narsaynorath that's how this system span on Android would look like. Please let me know if the op/description would be fine for you.

Copy link
Contributor

github-actions bot commented Jan 23, 2024

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 466.67 ms 562.38 ms 95.71 ms
Size 1.70 MiB 2.27 MiB 584.74 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
9119d59 389.55 ms 464.40 ms 74.84 ms
937879e 417.64 ms 550.45 ms 132.81 ms
c554ca2 368.52 ms 430.74 ms 62.22 ms
4e260b3 384.08 ms 477.56 ms 93.48 ms
8838e01 387.41 ms 467.00 ms 79.59 ms
eecfab6 399.27 ms 461.82 ms 62.55 ms
3d8bd2b 375.34 ms 446.32 ms 70.98 ms
a3c77bc 375.80 ms 445.85 ms 70.06 ms
c7e2fbc 372.00 ms 461.71 ms 89.71 ms
baaf637 401.69 ms 428.12 ms 26.43 ms

App size

Revision Plain With Sentry Diff
9119d59 1.70 MiB 2.27 MiB 583.84 KiB
937879e 1.72 MiB 2.27 MiB 558.42 KiB
c554ca2 1.70 MiB 2.27 MiB 582.25 KiB
4e260b3 1.72 MiB 2.27 MiB 554.95 KiB
8838e01 1.72 MiB 2.29 MiB 578.15 KiB
eecfab6 1.72 MiB 2.27 MiB 558.56 KiB
3d8bd2b 1.72 MiB 2.29 MiB 577.53 KiB
a3c77bc 1.72 MiB 2.29 MiB 577.53 KiB
c7e2fbc 1.72 MiB 2.29 MiB 576.40 KiB
baaf637 1.72 MiB 2.27 MiB 558.42 KiB

Previous results on branch: feat/process-init-app-start-span

Startup times

Revision Plain With Sentry Diff
d19af0e 418.73 ms 525.19 ms 106.45 ms
eca02f8 380.65 ms 439.69 ms 59.04 ms
754d263 382.94 ms 441.31 ms 58.38 ms
90a9c98 374.26 ms 474.90 ms 100.64 ms
e2a680f 347.08 ms 444.80 ms 97.71 ms

App size

Revision Plain With Sentry Diff
d19af0e 1.70 MiB 2.27 MiB 583.76 KiB
eca02f8 1.70 MiB 2.27 MiB 584.74 KiB
754d263 1.70 MiB 2.27 MiB 583.76 KiB
90a9c98 1.70 MiB 2.27 MiB 583.76 KiB
e2a680f 1.70 MiB 2.27 MiB 584.77 KiB

@narsaynorath
Copy link
Member

Perfect, the system span looks good to me!

afaik in the last design conversation we had around the app start UI, we're going to drop the system v. application widget, but this would likely be a span that we would surface in the span op table for users to see the change there

@markushi markushi merged commit a537f8a into main Feb 12, 2024
24 checks passed
@markushi markushi deleted the feat/process-init-app-start-span branch February 12, 2024 12:02
narsaynorath added a commit to getsentry/relay that referenced this pull request Mar 7, 2024
This was added to capture the system start up portion in Android and
recently merged. Add the span op to start collecting metrics on this.

See: getsentry/sentry-java#3159
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.

[Starfish] Measure process app-start timing
3 participants