Introducing Squash: The open-source exception notification tool

January 16, 2013

Squash is a web app and collection of client libraries that records exceptions in your code, and gives you the tools you need to analyze and fix the bugs that caused those exceptions. The main emphasis is finding someone who can take responsibility for the bug and notifying him or her, keeping the signal-to-noise ratio very high.

We wrote Squash to make it as fast and easy as possible for you to find and fix bugs that happen in production. For example, Squash uses git blame to make a "best guess" at which engineer can most likely fix a bug, and then notifies only that engineer (and not your entire development team).

Eliminates useless pages and email overload

Squash does not open a new bug for every exception that comes in. Rather, Squash attempts to group exceptions into bugs that share the same root cause. Two exceptions may be completely different, but if Squash thinks they share the same root cause, they will be aggregated under the same bug. Everything in Squash is focused around fixing bugs, not sifting through lists of exceptions.

Makes it faster and more obvious to find a root cause

Once you've been notified of a bug, you can use Squash's analysis and aggregation tools to deconstruct what happened. Did this bug start only after a certain deploy? Does it happen only on certain mobile devices? Does the flash hash contain unserializable objects?

Keeps everything in one place

For more difficult bugs, Squash has a suite of collaboration tools, like commenting, assigning, and resolving bugs. There are lots of other features: Squash can symbolicate iOS stack traces, de-obfuscate Java traces, and source-map JavaScript call stacks.

Squash is easy to set up. To learn more, watch this screencast:

Tim Morgan
Software developer, internal tools


Get support help at We'll delete off-topic comments.