New in Yeller: Automatic Diagnosis

This is a blog about the development of Yeller, The Exception Tracker with Answers

Read more about Yeller here

I’m looking at 5,122 occurrences of the same error, and I have no idea what’s common between them.

Sound familiar? A particularly weird error pops up, in code that hasn’t changed for a while, and you have no good idea what caused it?

Most of the bugs you hit in production are caused by new code. You pushed a change, and it broke something. These bugs are often easy enough to fix : somebody just changed that code, they can remember what it does and fix it pretty quickly.

Not all exceptions are caused by new code though. Sometimes a server configuration change breaks some expectation of your code. Sometimes a customer sends in novel data, that you never expected, and they see an error page because of that. Often it can be difficult figuring out the root cause of these exceptions, be it a misconfigured host, a particular browser, or any other data about that request.

Your exception tracker has all of the data about what happened in each error occurrence, but you’re left opening up dozens of browser tabs trying to sift through the data to find what’s common between all the occurrences.

That’s not good enough. Developer time is expensive. More time is spent debugging because your tools don’t do any analysis for you.

I’ve seen a lot of exceptions that were rather difficult to debug, with similar root causes:

  • one of your servers is behaving strangely
  • one particular database row having unexpected data
  • a certain query param corrupting data and causing errors

As of today, Yeller will now tell you if any data is unique across all occurrences of an exception. Here’s what that looks like:

Each piece of data that’s unique across all occurrences is called out as a possible cause. If you’ve ever wondered “is the root cause of this just this one specific parameter?”, then this feature is for you.

Why did you build this?

A friend of mine spent 3 days tracking down a bug in which approximately 1/4 of their requests would fail with an exception. Eventually they discovered it was because a particular proxy server was ignoring requests from one of the servers their rails app ran on. This took 3 days of developer time. With smarter analysis of each error, that could have been 15 seconds.

Generally, I think smarter analysis is the future of exception trackers. We have all this data available to save developer time and energy, and yet most of the analysis we do is very limited. It’s time to change that.

Try Yeller Today

Check it out. Automatic Diagnosis is included with all plans. Everyone gets 30 days free with unlimited usage. You can create as many projects as you’d like, and invite as many people as you want.

This is a blog about the development of Yeller, the Exception Tracker with Answers.

Read more about Yeller here

Looking for more about running production applications, debugging, Clojure development and distributed systems? Subscribe to our newsletter: