On 11/12/19 2:12 AM, Glyph wrote:
At twistedmatrix.com, we dogfood a bunch of Twisted software: our DNS server (primary and secondary!), our web server, even a little bit of email stuff here and there. And we have our own structured logging system to make it, ahem, "easy" to put logs into some kind of a system that can tell you what Twisted is doing.
But uh… we don't get a lot of value from this because the tracebacks just go into disk files that nobody ever looks at.
Does anyone know if, say, Sentry supports a free tier for open source projects, or something like that? Or any other error-tracking provider even vaguely compatible with Twisted might do something like that? It would be nice to surface and fix tracebacks that affect our own infrastructure before they hit our users.
-g
Hi Glyph,
Sentry has a free "developer" tier which I'm sure you already
found [1]. It supports up to 5k events per month, the downside for
using it for twistedmatrix.com might be that it only supports 1
team member. I don't recall hearing if they do any free plans for
OSS, but from talking to a few of their early employees a while
ago I wouldn't be surprised. It could be worth integrating just to
see if it gives you the sort of information you're looking for?
Another option would be to self-host the Sentry OSS version, but
I'm assuming the team wouldn't want to take on more ops stuff.
In terms of integration, note that the (new) Sentry Python library doesn't support using Twisted as a transport [2] (meaning you'd block the reactor to report the issue), although their old one does [3]. Integrating Sentry+Twisted for the actual error reporting works fairly well via the logging system and I've been doing it for a while with success (>5 years). Although we sometimes get duplicate errors for an exception and unhandled errors in deferreds... it'd be great if the integration was a bit more plug and play.
Not sure if any of that was useful, but the short version is that
I've been super impressed with the Sentry integration, especially
in multi-language environments.
--Patrick
[1] https://sentry.io/pricing/
[2] https://github.com/getsentry/sentry-python/issues/266
[3]
https://github.com/getsentry/raven-python/blob/master/raven/transport/twisted.py