Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Whats the impact of having multiple crash reporting tools in Android App

In my app ,i have integrated Crashlytics ,ACRA and Google Analytics for reporting crashes

-> is there any side effect of one on others ?

-> Which one is better to use.

-> How crash reporting tools work ,if one caught the crash how other will get to report the same crash ?

like image 534
Harsh Middha Avatar asked Dec 16 '14 06:12

Harsh Middha


2 Answers

Using multiple crash reporting solutions in one project simultaneously might run your application into concurrency issue, where application eventually hangs forever upon any crash.

Crash reporting solutions intercept uncaught crashes, in one way or another. The flow is basically the same:

  1. Intercept uncaught crash;
  2. Log it to be able to send info to server;
  3. Re-throw crash, so that the app eventually crashes.

I could imagine a situation where 2 crash reporting solutions create an infinite loop throwing the same exception to each other forever, according to the steps above.

At least, that's what it looked like when I used Google Analytics (with crash reporting turned on) together with Crashlytics. The application just hanged forever without any visible crashing, until I eventually turned Google Analytics crash reporting off.

like image 171
Drew Avatar answered Oct 14 '22 15:10

Drew


is there any side effect of one on others ?

Google Analytics is not really good to use. I created a Google Analytics account a few days before the implementation. It had not been used and not even been copied(the code) and when I came back to insert Google Analytics I had to get the code. Noone had used a Google Analytics version of the app and it wasn't even released and it had a lot of usages logged. I don't like google analytics because the code's are easy to crack and are used by third party websites without consent to add fake clicks on your website when the code isn't even used there.

Additonally, Google Analytics does only handle when it is forced to log. As it is not a dedicated crash analytics tool it does not log crashes like ACRA, Crashalytics and Firebase crashes.

Which one is better to use.

That is really up to you, but personally I find ACRA to be better because you can use backends on your own site. If the site goes down, so does ACRA so it really helps to feel in control of the bringing the site back up.

Additionally, there are many backends if you want to use your own site. And if you don't find one that works you can create one. Crashalytics and Firebase rely on their own dashboard on their respective pages, which means another password and username to remember.

How crash reporting tools work ,if one caught the crash how other will get to report the same crash ?

See Drew's answer

like image 32
Zoe stands with Ukraine Avatar answered Oct 14 '22 13:10

Zoe stands with Ukraine