erreport - create a bug free application from day one
DESCRIPTION
A light weight application for catching error on run time. It is a simple to setup client-server application which supports Ruby, PHP, Android and iPhone for error collection and notification.TRANSCRIPT
It works even when you don't!
Problem Statement
Your web and mobile apps crash…
404404
but do you know about them?
What?
Watch and track applicationerror on run time
Store and log errors with detailed information
Bucket and send notificationsto relevant user at relevant times
How?
Add simple library into existing code and you are done
Registering withus for FREE
Who?
Following are few of the target users:
Tech Leads/Developers: Notification on app errors and warnings, even the most unnoticeable error gets tracked.
Project / Product Manager: Keeps them updated with errors during run time. Build / Predict trends based on reports and take proactive approach
QA: Keep checking the health of the product, trace every warning that can lead to an error.
CTOs and CXOs:Notification on chosen error types with high criticality.
Platforms Supported
Currently the application supports the following Technologies:
TechnologyDiving Deeper
About The Libraries
Easy to attach, technology specific librariesRails and CakePHP:-
The lightweight client catches the error from middleware (Rails -> ActionDispatcher and CakePHP -> Error and Exception Handler).
The error contains a lot of data, of which the client filters the relevant data.
The error is passed from ruby object to the node script which is a part of the client. This releases the memory consumed by the ruby object holding the error.
Node script makes an API call in an asynchronous manner to the 106 web application for the storage and notification.
Cont...
Android and iOS :-
Centralised application class catches all the errors, exceptions and crashes.
The caught errors, exceptions and crashes are sent to onExceptionOccurs method, which is present in the centralised application class.
onExceptionOccurs methods checks if internet is present or not.
If yes, then error is sent to the 106 web application via API.
If not, then it is stored in a text file which will be kept in the application directory.
Once the internet is back and application is started, the lib checks for the text file, if present then data from the file is sent and text file is deleted.
Types Of Errors
CakePHP and Rails:-
Syntax Error
API connection Error
Active Record: Record Not Found
Active Record: Statement Invalid (no table in db)
Assets 404 Not Found / Routing Error
IOS and Android:-
NullpointerException (Invalid use of a null reference)
ClassCastException (Invalid cast)
ArrayIndexOutOfBoundException (Array index is out-of-bounds)
NoSuchMethodException (A requested field does not exist)
ArithmeticException (Arithmetic error,such as divide-by-zero)
Contd...
CakePHP and Rails:-
Routing Errors
ArgumentError < StandardError
NoMethodError < StandardError
NameError < StandardError
ActionController::RoutingError (uninitialized constant)
Mass Assignment Error
IOS and Android:-
NoSuchFieldException (A requested method does not exist)
Competitive AnalysisHow do we fare against others
Comparative Study
Syntax error (Time in sec)
(Memory in bytes)
Exception (Time in sec)
(Memory in bytes)
Table not found (Time in sec)
(Memory in bytes)
URL doesn’t exist (Time in sec)
(Memory in bytes)
AirBrake2 RollBarErreportAirBrake
1.04064
16712
0.88379
15000
0.75156
14896
0.75156
15120
1.04064
16880
0.26032
15152
0.13999
15168
0.15717
15200
0.00028
17280
0.00055
25184
0.00027
12960
0.11302
3736
0.10286
1904
0.10286
1904
0.10091
1904
Real Time Scenarios
User tries to register with a portal and it fails. No error is shown and user is clueless what is wrong.
User tries to do a social sign on your app but gets stuck in the middle of nowhere
User tries to open a site and nothing happens.
User tries to do an online payment and it fails.
After booking is cancelled, the user does not get a refund!
And a lot more such scenarios… We are there to report!
To know more…
If you are a Developer:-
Fork the ERReport repository from our home page at http://erreport.io
You will redirected to our repo on GitHub , click on "Fork" button on the GitHub.com repository.
Clone your fork
So far it only exists on GitHub. To work on the project, you will need to clone it to your local machine.
PS: We appreciate you contribution.
To know more…
If you are a Business:-
Go to our website (http://erreport.io) and click on “Get in Touch” link.
You will be presented with a simple form.
Enter the necessary details and you are done.
ERReport team will work with you to set up reporting for your app.
Thank You!