Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a handy reminder. We spun up Sentry a while back (like, maybe 1-1.5 years ago?) and spun it back down because logging to it via TCP was unacceptable for us.

For the folks using it, how do you get data to it? Curious how things have shaped up over time.



Why not just use the UDP logger instead? I've used the hosted version of sentry with the UDP logger just fine.


Could you explain why?


We didn't want to write to something synchronously without having a fault-tolerant solution for latency... especially when we could afford the end-user latency of seeing the exceptions later. I don't want my logging aggregator to be a SPOF for the main app. Would much rather suck up the data asynchronously from syslog or files, etc.


Hi, at CCP we have a custom transport that does the logging to sentry on a separate tasklet (think lightweight thread). Basically, the logging is done in the backgrond when there is time, freeing the thread whence the error came up to do other stuff immediately.


There's two things to consider here:

1) Sentry is not designed to replace logging therefor things like syslog will never achieve the same result. Sentry is explicitly for catching outliers and TCP is the only method able to store it's data.

2) As with CCP most people no longer use synchronous transports. We even changed the default to be the threaded worker transport. That said, when your user hits a 500 adding 50-200ms is generally acceptable as you've already put the user in a bad situation.


Late getting back to this but wanted to clear up some things:

1) Sorry, I think I was misunderstood. Was saying I'd rather populate Sentry from logs not that I think my logs are an alternative for Sentry.

2) Awesome. I'll look at the threaded worker transport stuff. As for the 50-200MS on 500's, I totally agree. Didn't get around to sorting out making connection timeout something like a couple hundred seconds though (at the time it wasn't clear to me if that was an exposed setting for the Sentry lib), and also I was hoping to use Sentry for situations where I might give our users a 200 but warn us internally about and use Sentry to notice a large uptick in the warnings.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: