5 Error Tracking Tools Java Developers Should Know
Join the DZone community and get the full member experience.Join For Free
Raygun, Stack Hunter, Sentry, Takipi and Airbrake: Modern developer tools to help you crush bugs before bugs crush your app
- Error grouping - Every occurrence of a bug is presented within one group with access to single instances of it, including its stack trace.
- Full text search - Error groups and all collected data is searchable.
- View app activity - Every action on an error group is displayed for all your team to see: status updates, comments and more.
- Affected users - Counts of affected users appear by each error.
- External integrations - Github, Bitbucket, Asana, JIRA, HipChat and many more.
Started as a side-project, Sentry is an open-source web based solution that serves as a real time event logging and aggregation platform. It monitors errors and displays when, where and to whom they happen, promising to do so without relying solely on user feedback. Supported languages and frameworks include Ruby, Python, JS, Java, Django, iOS, .NET and more.
- See the impact of new deployments in real time
- Provide support to specific users interrupted by an error
- Detect and thwart fraud as its attempted - notifications of unusual amounts of failures on purchases, authentication, and other sensitive areas
- External Integrations - GitHub, HipChat, Heroku, and many more
Unlike most of the other tools, Takipi is far more than a stack trace prettifier. It was built with a simple objective in mind: Telling developers exactly when and why production code breaks. Whenever a new exception is thrown or a log error occurs – Takipi captures it and shows you the variable state which caused it, across methods and machines. Takipi will overlay this over the actual code which executed at the moment of error – so you can analyze the exception as if you were there when it happened.
- Detect – Caught/uncaught exceptions, Http and logged errors.
- Prioritize – How often errors happen across your cluster, if they involve new or modified code, and whether that rate is increasing.
- Analyze – See the actual code and variable state, even across different machines and applications.
- Easy to install - No code or configuration changes needed.
- Less than 2% overhead.
Another tool that has put exception tracking on its eyesights is Rackspace’s Airbrake, taking on the mission of “No More Searching Log Files”. It provides users with a web based interface that includes a dashboard with error details and an application specific view. Supported languages include Ruby, PHP, Java, .NET, Python and even… Swift.
- Detailed stack traces, grouping by error type, users and environment variables
- Team productivity - Filter importance errors from the noise
- Team collaboration - See who’s causing bugs and whose fixing them
- External Integrations - HipChat, GitHub, JIRA, Pivotal and over 30 more
Currently in beta, Stack Hunter provides a self hosted tool to track your Java exceptions. A change of scenery from the past hosted tools. Other than that, it aims to provide a similar feature set to inform developers of their exceptions and help solve them faster.
- A single self hosted web interface to view all exceptions
- Collections of stack trace data and context including key metrics such as total exceptions, unique exceptions, users affected, & sessions affected
- Instant email alerts when exceptions occur
- Exceptions grouping by root cause
Another approach to error tracking worth mentioning is used by ABRT, an automatic bug detection and reporting tool from the Fedora ecosystem, which is a Red Hat sponsored community project. Unlike the 5 tools we covered here, this one is intended to be used not only by app developers - but their users as well. Reporting bugs back to Red Hat with richer context that otherwise would have been harder to understand and debug.
The Java angle: Support for Java exceptions is still in its proof of concept stage. A Java connector developed by Jakub Filák is available here.
Opinions expressed by DZone contributors are their own.