getsentry / sentry-java

A Sentry SDK for Java, Android and other JVM languages.
https://docs.sentry.io/
MIT License
1.14k stars 432 forks source link

Incorrect cold app start measurement when the app was opened after recev push notification receive #3567

Closed zhukic closed 1 month ago

zhukic commented 1 month ago

Integration

sentry-android

Build System

Gradle

AGP Version

8.4.2

Proguard

Enabled

Version

7.9.0

Steps to Reproduce

Hi!

We noticed incorrect values for app.start.cold metric, and we managed to reproduce it if a push notification is received and the app is opened after some time(minutes or hours).

11

I see that it duplicates the https://github.com/getsentry/sentry-java/issues/3538 https://github.com/getsentry/sentry-java/issues/3329 issues, but I decided to create a separate one because it may be a different case.

I also see that some fix is on the way, and it would be good to know if the fix also solves my problem.

Sentry Gradle plugin version: 4.6.0 Performance V2 enabled

Thank you!

Expected Result

Incorrect app.start.cold values.

Actual Result

Do not report cold app start in such cases?

kahest commented 1 month ago

Hey @zhukic thanks for reporting, especially with this important detail

reproduce it if a push notification is received and the app is opened after some time(minutes or hours).

As you mention, the open PR might fix this issue as well 👍 Out of curiosity - did you try/manage to reproduce this with Performance V2 turned off?

cc @stefanosiano @markushi

zhukic commented 1 month ago

@kahest

did you try/manage to reproduce this with Performance V2 turned off?

I haven't tried to reproduce with V2 turned off but I can try if it may help somehow

kahest commented 1 month ago

@zhukic thanks for offering, no need atm - we'll try ourselves and get back to you in case we need more info

zhukic commented 1 month ago

@kahest Hi! I see that you merged the fix. Could you please explain how the SDK will behave in case of push notifications after the fix?

kahest commented 1 month ago

@zhukic the fix detects if the app was (likely) started in background (e.g. via PN) before it actually became active, and in that case reports the transaction as a screen load event without incorrect app start timings. We plan to ship a hotfix release for this soon and would appreciate feedback.

stefanosiano commented 1 month ago

@zhukic The fix was released in the SDK version 7.12.1. Please, reopen this issue in case the problem persists.