Extensibility
Easy to write a client for any language/platform
Parse DSN, build JSON, post with authentication headers
Write plugins in Python
Unified Interface ex: message, exception, stacktrace...
12年11月7⽇日星期三
Slide 15
Slide 15 text
Scale?
Queue and workers mode (db, redis)
Redis backend update buffers
UDP server avoiding single point of failure
Just like how you scale any web services...
BTW you shouldn’t have such a high concurrency of errors
12年11月7⽇日星期三
Slide 16
Slide 16 text
Server Usage
sentry start http #start http server
sentry start udp #start udp server
Again, we could use supervisord to run sentry as a daemon.
12年11月7⽇日星期三
Slide 17
Slide 17 text
Client Usage
Setup client with DSN
Override the origin error handler
Capture a message/exception
Add tags you want
12年11月7⽇日星期三
Slide 18
Slide 18 text
PHP Example
12年11月7⽇日星期三
Slide 19
Slide 19 text
Other Example
Javascript: window.onerror
Obj-C: NSSetUncaughtExceptionHandler
12年11月7⽇日星期三
Slide 20
Slide 20 text
Capture message
Capture a message or exception
Try/catch block
Special case ex: third-party service unavailable
12年11月7⽇日星期三
Slide 21
Slide 21 text
Event Id
You’ll get a unique “event_id” whenever you capture a
msg/exception
You could display a error page with this id to user
They’ll come up with this id and we could find it’s error very
easily.
Or not.
12年11月7⽇日星期三
Slide 22
Slide 22 text
Tags
Add tags when...
Client init
Capture a message/exception
For instance...
Env? production or develop?
App version? 1.1.4? 1.1.5?
12年11月7⽇日星期三
Slide 23
Slide 23 text
Web Interface
12年11月7⽇日星期三
Slide 24
Slide 24 text
12年11月7⽇日星期三
Slide 25
Slide 25 text
12年11月7⽇日星期三
Slide 26
Slide 26 text
Q & A
Special Thanks to
@TiberiusTeng
12年11月7⽇日星期三