Instabug first launched on HN back in 2013 as a bug reporting SDK for mobile apps. Over the years, we heard from mobile developers that they want more granular metrics about how their apps are performing in the wild, so we released a new APM tool.
We found that most APM products in the market focus on server-side monitoring, so we built ours specifically for mobile developers.
Here is a quick summary of what we launched:
1. UI Hangs: track the performance of each ViewController, Activity, and Fragment in your app.
2. Network Performance: we record the response time of all your network calls, as seen by users and show you the full round-trip with both client-side and server-side errors.
3. Execution Traces: you can define your own traces to track the performance of any logic in your app that can be a bottleneck to your users’ experience.
4. Apdex Scores: a single metric that represents your overall app quality as perceived by your users with a breakdown of satisfying, tolerable, frustrating, and crashing sessions.
5. App Launch: see how long your users are waiting from the moment they open the app until the app is fully launched and accepting touch events, across devices and OS versions.
Building this was a bit tricky for us. APM is the most data heavy and complex product we’ve built (specially that we had to switch to working remotely overnight like most of the world).
And since APM is all about performance, we had to make sure to keep the footprint of our SDK as small as possible, and more importantly, to do so without sacrificing accuracy or taking shortcuts.
We’d love your feedback and please let me know if you have any questions.
Looks very interesting! Have you considered supporting Capacitor? It's a modern alternative to Cordova that is powering all new Ionic Framework apps. We would love to have more options for the community (I'm Ionic CEO btw)
It's similar in theory to Cordova but quite a bit different in practice, so that's hard to say. Its about two years old but has been growing quickly (https://npmcharts.com/compare/@capacitor/core)
Yes it hooks early on in the process startup to start measuring the time that the OS take to launch the app, as well as the app launch itself. And it stops at the end of first run loop when the first screen starts accepting touch events.
It's slightly different between iOS and Android though
Perfacchi is built specially for developers and has been loved by everybody we started working with during our Beta. What makes it easy is the ability to customise parameters like screen transition, method monitoring, API, FPS and Memory leaks. Developers can add them to their dev or the test build to capture performance on the background which means there js enough context & helps developers to identify performance bottleneck even before hitting the playstore. All this without impacting the app performance & making it close to real time.
We are brining a lot more important metrics to understand activity life cycle management, ANRs, In-app feedback etc,.
Feedback would be much appreciated & we are sure to help the dev teams by adding performance optimization as part of the future sprints.
Here is a quick summary of what we launched:
1. UI Hangs: track the performance of each ViewController, Activity, and Fragment in your app.
2. Network Performance: we record the response time of all your network calls, as seen by users and show you the full round-trip with both client-side and server-side errors.
3. Execution Traces: you can define your own traces to track the performance of any logic in your app that can be a bottleneck to your users’ experience.
4. Apdex Scores: a single metric that represents your overall app quality as perceived by your users with a breakdown of satisfying, tolerable, frustrating, and crashing sessions.
5. App Launch: see how long your users are waiting from the moment they open the app until the app is fully launched and accepting touch events, across devices and OS versions.
Building this was a bit tricky for us. APM is the most data heavy and complex product we’ve built (specially that we had to switch to working remotely overnight like most of the world). And since APM is all about performance, we had to make sure to keep the footprint of our SDK as small as possible, and more importantly, to do so without sacrificing accuracy or taking shortcuts.
We’d love your feedback and please let me know if you have any questions.