erreport - create a bug free application from day one

17
It works even when you don't!

Upload: webonise-lab

Post on 01-Nov-2014

410 views

Category:

Technology


0 download

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

Page 1: ERReport - create a bug free application from day one

It works even when you don't!

Page 2: ERReport - create a bug free application from day one

Problem Statement

Your web and mobile apps crash…

404404

but do you know about them?

Page 3: ERReport - create a bug free application from day one

What?

Watch and track applicationerror on run time

Store and log errors with detailed information

Bucket and send notificationsto relevant user at relevant times

Page 4: ERReport - create a bug free application from day one

How?

Add simple library into existing code and you are done

Registering withus for FREE

Page 5: ERReport - create a bug free application from day one

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.

Page 6: ERReport - create a bug free application from day one

Platforms Supported

Currently the application supports the following Technologies:

Page 7: ERReport - create a bug free application from day one

TechnologyDiving Deeper

Page 8: ERReport - create a bug free application from day one

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.

Page 9: ERReport - create a bug free application from day one

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.

Page 10: ERReport - create a bug free application from day one

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)

Page 11: ERReport - create a bug free application from day one

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)

Page 12: ERReport - create a bug free application from day one

Competitive AnalysisHow do we fare against others

Page 13: ERReport - create a bug free application from day one

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

Page 14: ERReport - create a bug free application from day one

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!

Page 15: ERReport - create a bug free application from day one

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.

Page 16: ERReport - create a bug free application from day one

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.

Page 17: ERReport - create a bug free application from day one

Thank You!