
Sentry 8 is here - dctrwatson
http://blog.getsentry.com/2015/10/08/sentry-8-is-here.html
======
zeeg
David from Sentry here.

We're hoping to do a sort-of AMA in the future about rebuilding Sentry (and
the open source approach), but if anyone has any questions about the new
version I'm happy to answer them.

~~~
lobster_johnson
Sentry looks cool. I have previously tested Rollbar and Airbrake, but was
deeply unsatisfied with both.

The big problem I have with all these services is that you need set up each
application individually: Each one is a silo, with its own notification
settings, API key, and so on. We have _dozens_ of apps (several products +
lots of microservices), so this is just unacceptable. I looked into whether I
could use a single API key with Rollbar or Airbrake, and simply tag each event
with the name of the sender, but it turns out this is not feasible. They don't
even have APIs that let you programmatically configure apps remotely.

How does Sentry compare?

(Many other SaaS services suffer from the same issue; for example, Semaphore,
which we use for CI, requires a build script for each project. We worked
around this by letting the build script be a single curl command that pipes a
remote script to bash, shared across all projects. But hardly ideal.)

~~~
zeeg
We're pretty similar in a lot of ways. It's definitely a pain point, but from
a UX perspective its tough to solve. In theory you could manage a lot of
things with the API (most of our UI runs off the API these days).

Even with the limitations, we have many people with hundreds of projects, and
the general problems we see are more around notification settings than
anything else. The usual suspect is that people are getting too many emails
when they either want none, or they want digests.

We are giving this a lot of thought as part of our upcoming infrastructure
pass. From my point of view it'd make a lot of sense if you could just have a
massive stream of events and sort through them however you want. That causes a
lot of challenges so it may not be feasible.

Either way its a problem we're aware of and looking to address. The simplest
solution from our point of view is to allow you to configure some kind of
organization-wide defaults. That won't resolve the API key constraints, but we
don't feel that specifically is a pain point.

~~~
atombender
I see. What I don't understand is why settings need to be so granular.

For example, our company uses Slack. All notifications go to Slack. There's no
need for per-project settings because it's all just one room. At some point we
will probably want some projects to go to other rooms, but that's a coarse-
grained exception, not something that warrants a per-project setting.

Also, if you need per-person notification settings, then surely that's part of
the user's account/profile, not the project. That would be just a single
dashboard page with (say) on/off sliders for each project.

In my mind, the data model used by exception trackers (including, it seems,
Sentry) is wrong. There needs to be just one stream of events, tagged by
things like application name that you can filter on. How those events map to
things like notifications and aggregations and rules and source files and
teams and so on is completely orthogonal to the stream. Those things then
apply to a subset that you can modify dynamically without having to
reconfigure the sender.

~~~
duggan
This is basically how Datadog works. Unfortunately they do service monitoring
rather than exception tracking, but certainly lessons can be learned from
them.

Hands down the best designed operations product I've used.

------
nathancahill
Sentry's approach to open source is incredible. Their team/top contributors on
Github is basically a who's who of the Python web scene.

Happy to have been using Sentry for a long time now. Excited for the new
release.

------
jbrooksuk
Awesome, I've _just_ upgraded our instance to 7.7.0 - when will 8.0 be
available on Pip?

Will Sentry ever be useful for activities such as tracking occurrences of an
event?

~~~
zeeg
Our goal is the next 60 days, but the realist in me is saying "sometime this
year". We have an ever changing list of things we want to accomplish still as
part of the 8.0 push:

[https://github.com/getsentry/sentry/milestones/8.0%20Release](https://github.com/getsentry/sentry/milestones/8.0%20Release)

Regarding future capabilities of Sentry, we're not quite ready to talk about
most of it publicly yet, but we'll making some drastic improvements in the
very near future.

------
zeeg
Of note, we're actively hiring someone to come help us expand our mobile
offering. If you're in SF (or interested in being) and like what we're doing,
take a peek:

[https://www.getsentry.com/jobs/00790FFCE6/](https://www.getsentry.com/jobs/00790FFCE6/)

------
songchao
@David, after upgrading from 7.7.0 to 8.0.0.dev0, sentry health api
/_health/?full=1 reports
{"healthy":{"CeleryAppVersionCheck":false,"CeleryAliveCheck":false},"problems":["Background
workers haven't checked in recently. This can mean an issue with your
configuration or a serious backlog in tasks.","Celery workers are referencing
a different version of Sentry (8.0.0.dev0 vs 7.7.0)"]}

and the website has two red bars for these warning, but the reporting
mechanism seems work well, and there are no warning/error records in logs.

Do these warnings have serious problem? how can I fix these warnings? (I've
totally removed old sentry files in /usr/local/lib/python2.7/site-
packages/sentry* and made a fresh installation)

Thanks!

------
akurilin
For js error tracking, how does this compare to trackjs now?

~~~
zeeg
Same goals, different approach. Our JS support is extremely mature at this
point and you'll find that out of the box we'll do a great job at catching
errors in your application. In many situations you won't even need to do
anything beyond toss in a couple script tags.

That said we also support a lot of advanced scenarios:

\- Embedded/shipped code (i.e. PhoneGap, React-Native)

\- Minified code via sourcemaps (use webpack? it "just works")

\- Private source code (sourcemaps uploadable via artifacts, authentication
tokens)

One thing that trackjs does and we don't is provide "breadcrumbs". In reality
we haven't seen it be that useful, but it's something we're exploring.

~~~
chromakode
Sentry's sourcemap support is one of my favorite features. After spending
years poring over cryptic minified exception messages, I finally set up Sentry
for my latest JS frontend. It's glorious to get a nicely formatted traceback
containing actual source code lines.

------
spdustin
I'd really love to be able to use Sentry to collect errors in a closed .NET
web app that just spams a log file. Is there a collector/raven for just
tailing files (on Windows), configurable via RegEx or other parser definition?
Right now we use a custom grok filter for Logstash and dump it all into
Elasticsearch, but the Sentry UI sure would make life easier when something
goes wrong and we have to figure out why.

~~~
zeeg
There's not. The primary reason is that Sentry doesnt really match up well to
traditional logging. A lot of we do involves highly structured data, and
simply wouldn't be usable without that.

It helps to think of Sentry more like classic crash reporting more so than
modern logging. We want (and need) to know precisely what a stacktrace is,
which piece is the function name, the line number, etc.

~~~
spdustin
Well that's what the app is logging. Full stack traces. ;) I can think of lots
of apps that do just that. If a formatted stack trace is truly what you need
to ingest, maybe I should look into contributing a "Raven" for generic systems
that log stack traces.

------
sul4bh
I am running a Sentry 7 instance. How does the upgrade path to 8 look like?
Will I lose any data?

~~~
zeeg
We always recommend reviewing the CHANGES, but if you're already on 7.x it
should be mostly painless.

You can't install via standard channels yet (effectively you need to install
from GitHub), but otherwise there's no major concerns.

~~~
sul4bh
I now have 8.0 running. Thank you.

------
boundlessdreamz
I'm a sentry user but I'm looking at other options.

* Can't filter by additional data sent by you.

* Can't filter by Browser names instead of browser versions (i.e all Firefox instead of Firefox 35,36 etc)

* Can't ignore errors created by bots and old browsers.

------
breakingcups
Wow, this looks really cool! I've contemplated making something similar myself
but now it looks like I might not have to.

