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 (&gt;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==--