Skip to content

Conversation

stefanosiano
Copy link
Member

📜 Description

When a crash occurs, logs are flushed

💡 Motivation and Context

We ensure to store logs to disk (or even send them) instead of losing them due to being only in memory when a crash occurs

💚 How did you test it?

📝 Checklist

  • 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.
  • I updated the wizard 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

// if event is backfillable or cached we don't need to flush the logs, because it's an event
// from the past. Otherwise we need to flush the logs to ensure they are sent on crash
if (event != null && !isBackfillable && !isCached && event.isCrashed()) {
loggerBatchProcessor.flush(options.getFlushTimeoutMillis());
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not sure on this.
In theory we could wait for flushTimeoutMillis twice, once here and once to flush the crash.
In practice I expect this method to be instantaneous in Android, as it doesn't wait for them to be sent, and there shouldn't be many logs on Android anyway

Copy link
Contributor

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 414.34 ms 504.04 ms 89.70 ms
Size 1.58 MiB 2.10 MiB 533.44 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
ee747ae 405.43 ms 485.70 ms 80.28 ms
3699cd5 423.60 ms 495.52 ms 71.92 ms
ee747ae 400.46 ms 423.61 ms 23.15 ms
ee747ae 554.98 ms 611.50 ms 56.52 ms
ee747ae 374.71 ms 455.18 ms 80.47 ms
ee747ae 382.73 ms 435.41 ms 52.68 ms
ee747ae 396.82 ms 441.67 ms 44.86 ms
ee747ae 358.21 ms 389.41 ms 31.20 ms
7314dbe 437.83 ms 505.64 ms 67.81 ms
ee747ae 415.92 ms 470.15 ms 54.23 ms

App size

Revision Plain With Sentry Diff
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
3699cd5 1.58 MiB 2.10 MiB 533.45 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 KiB
7314dbe 1.58 MiB 2.10 MiB 533.45 KiB
ee747ae 1.58 MiB 2.10 MiB 530.95 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.

1 participant