Slide 1

Slide 1 text

Errors Are Best When Emailed... @AdamTuttle fusiongrokker.com You Are Here

Slide 2

Slide 2 text

Errors Are Best When Emailed... @AdamTuttle fusiongrokker.com Said Nobody Ever You Are Here

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

I’m @AdamTuttle

Slide 5

Slide 5 text

That’s Me!

Slide 6

Slide 6 text

Meet Dylan

Slide 7

Slide 7 text

This is Dylan’s Email

Slide 8

Slide 8 text

This is Dylan’s Email

Slide 9

Slide 9 text

100 Errors / day

Slide 10

Slide 10 text

100 Errors / day 12 EPH 1 every 5 minutes

Slide 11

Slide 11 text

Unreasonable Demands

Slide 12

Slide 12 text

Why is this a problem?

Slide 13

Slide 13 text

Why is this a problem?

Slide 14

Slide 14 text

Could Technology Help???

Slide 15

Slide 15 text

Error Logging & Analytics!

Slide 16

Slide 16 text

But I don’t get that many error emails...

Slide 17

Slide 17 text

• Everyone gets the email, but nobody looks at it • Shared team email account that interrupts everyone • Dedicated inbox manager; rotating if you’re lucky Workflow

Slide 18

Slide 18 text

• Can’t get data out Export

Slide 19

Slide 19 text

Data?

Slide 20

Slide 20 text

How many errors have you had this month?

Slide 21

Slide 21 text

...this week?

Slide 22

Slide 22 text

...today?

Slide 23

Slide 23 text

...in the last 6 hours?

Slide 24

Slide 24 text

...in the last 30 min?

Slide 25

Slide 25 text

What’s your most frequent error?

Slide 26

Slide 26 text

How many unique errors?

Slide 27

Slide 27 text

Has the frequency of any single unique error gone up recently?

Slide 28

Slide 28 text

Smarter collection; Smarter analytics

Slide 29

Slide 29 text

New unique error

Slide 30

Slide 30 text

Frequency exceeds threshold

Slide 31

Slide 31 text

Error severity code

Slide 32

Slide 32 text

Heartbeat Failure

Slide 33

Slide 33 text

Tell me about these apps...

Slide 34

Slide 34 text

• Errplane.com • Raygun.io • Airbrake.io • loggly.com Cloud Services ($)

Slide 35

Slide 35 text

• BugLogHQ - Oscar Arevalo • Hoth - Aaron Greenlee • Honorable Mention: IronGate Self-hosted, CFML Powered

Slide 36

Slide 36 text

try { var x = 42 / 0; } catch (any e) { thing.log( e ); } Easy to implement

Slide 37

Slide 37 text

Application.cfc function onError( exception ) { thing.log( exception ); } Easy to implement

Slide 38

Slide 38 text

How do they match up against each other?

Slide 39

Slide 39 text

• Logs to text files • Built specifically & only for CF Exceptions • Included Report UI targets ColdBox • Only local machine • Star Wars Reference Hoth

Slide 40

Slide 40 text

Logs to a database Supports 1 custom field, flexibility for non- CFML errors Report UI with pretty* graphs & filtering REST API for remote access RSS log available *as pretty as CFChart gets, anyway BugLogHQ Built-in fallback to email

Slide 41

Slide 41 text

BugLogHQ Hoth Exception Details

Slide 42

Slide 42 text

Hoth BugLogHQ Always emails you when a previously- unknown exception occurs Notification Options Customizable Alerts: discard firstMessageAlert frequencyAlert heartbeatMonitor more...

Slide 43

Slide 43 text

Hoth Shows # of occurrences BugLogHQ Statistical Analysis

Slide 44

Slide 44 text

And the winner is...

Slide 45

Slide 45 text

Let’s Look At My Data

Slide 46

Slide 46 text

> Fun with data!

Slide 47

Slide 47 text

Custom Bot that monitors RSS feed for new entries and sends me an IM when anything is added. Node.js Heroku free tier Free Redis addon for Heroku OSCAR, redis, feedparser libs <100 lines of my JavaScript Build your own goodies

Slide 48

Slide 48 text

Same bot, but for HipChat

Slide 49

Slide 49 text

BLHQ Custom Alerts

Slide 50

Slide 50 text

Limited only by your imagination

Slide 51

Slide 51 text

Now Dylan can focus!

Slide 52

Slide 52 text

In conclusion...