Re: operational visibility
Patrick Cloke <[email protected]> Tue, 12 Nov 2019 08:47:28 -0500
| Newsgroups | gmane.comp.python.twisted |
|---|---|
| Message-ID | <[email protected]> |
--===============2078765131967239788==
Content-Type: multipart/alternative;
boundary="------------6A0EFF658E3EEA2B81D5A442"
Content-Language: en-US
This is a multi-part message in MIME format.
--------------6A0EFF658E3EEA2B81D5A442
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
On 11/12/19 2:12 AM, Glyph wrote:
> At twistedmatrix.com <http://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
--------------6A0EFF658E3EEA2B81D5A442
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>On 11/12/19 2:12 AM, Glyph wrote:<br>
</p>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
At <a href="http://twistedmatrix.com" class=""
moz-do-not-send="true">twistedmatrix.com</a>, 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.
<div class=""><br class="">
</div>
<div class="">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.</div>
<div class=""><br class="">
</div>
<div class="">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.<br class="">
<div class="">
<div class="">
<div class=""><br class="">
</div>
<div class="">-g</div>
</div>
</div>
</div>
<br>
</blockquote>
<p>Hi Glyph,</p>
<p>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.<br>
</p>
<p>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.</p>
<p>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.<br>
</p>
<p>--Patrick<br>
</p>
<p>[1] <a class="moz-txt-link-freetext" href="https://sentry.io/pricing/">https://sentry.io/pricing/</a><br>
[2] <a class="moz-txt-link-freetext" href="https://github.com/getsentry/sentry-python/issues/266">https://github.com/getsentry/sentry-python/issues/266</a><br>
[3]
<a class="moz-txt-link-freetext" href="https://github.com/getsentry/raven-python/blob/master/raven/transport/twisted.py">https://github.com/getsentry/raven-python/blob/master/raven/transport/twisted.py</a><br>
</p>
</body>
</html>
--------------6A0EFF658E3EEA2B81D5A442--
--===============2078765131967239788==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVHdpc3RlZC1Q
eXRob24gbWFpbGluZyBsaXN0ClR3aXN0ZWQtUHl0aG9uQHR3aXN0ZWRtYXRyaXguY29tCmh0dHBz
Oi8vdHdpc3RlZG1hdHJpeC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3R3aXN0ZWQtcHl0
aG9uCg==
--===============2078765131967239788==--