firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.59k stars 1.46k forks source link

Non fatal errors and crashes and logs are a tiny sample #13228

Closed jesus-mg-ios closed 2 months ago

jesus-mg-ios commented 3 months ago

Description

We are 100% sure that non fatals and errors are a sample of the what is happening in the product. We'll see around 2% of the non fatals that must be logged and about crashes our hipothesis is that they are a tiny sample aswell.

Nothing on documentation about the sample rate.

Is this a bug or a known behaviour?

Reproducing the issue

Add on a widget on the start of it a record of a non fatal, after that make a call to count the number oftimes the non fatal should be recorded and double check it on dashboard.

Firebase SDK Version

10.25.0

Xcode Version

15.2

Installation Method

Swift Package Manager

Firebase Product(s)

Crashlytics

Targeted Platforms

iOS, macCatalyst

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
```json Replace this line with the contents of your Package.resolved. ```

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml Replace this line with the contents of your Podfile.lock! ```
themiswang commented 3 months ago

Hey @jesus-mg-ios,

Crashlytics only stores the most recent eight non-fatal exceptions in a given app session. The documentation is here image Let me know if this is match your observation, Thanks!

jesus-mg-ios commented 3 months ago

Not at all.

mrober commented 3 months ago

@jesus-mg-ios can you please explain why @themiswang's explanation does not match your observation? It looks to me like it explains what you described in "Reproducing the issue" perfectly. If you log and count 100 non-fatals in a session, then end the session by crashing or restarting the app, you should expect only the most recent 8 non-fatals get uploaded in that report.

jesus-mg-ios commented 3 months ago

Sure, What I've seen is for example 1000 users entering in the app and a record at the init is done. If the case you are describing would happen, at the end of the 1000 users sessions, I have at least 1000 non fatals, isn't it? But what i'm seeing is like 20 - 14 non fatals, no more.

google-oss-bot commented 2 months ago

Hey @jesus-mg-ios. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

jesus-mg-ios commented 2 months ago

No more info

rizafran commented 2 months ago

Thanks for sharing your scenario, @jesus-mg-ios. The docs mentioned that Crashlytics only stores the most recent eight exceptions in a given app session, and seems like it applies to "per app session", which means that if those 100 users experience the same crash, all of those should be up in the Crashlytics dashboard, as long as all of them restart the app and have internet access. Since this is related to the backend side, could you file a ticket through our support channel to investigate the cause of the issue? You can also provide your detailed steps on how you reproduce the issue as well as your project ID.