Just launched: Airbrake’s new & improved activity feed

We see it in our data, change happens really fast in software projects. Our projects are alive with code changes, deploys, and let’s not pretend…errors!

Some of our eagle-eyed users will have noticed we already had an activity feed, but we knew we could do better.

Today we have launched an overhaul of our project activity feed feature. With a fresh look, a promotion to the error dashboard, and new functionality to help you keep delivering quality, production software!

The new Airbrake activity feed

Deploy Tracking

If you are not tracking deploys with Airbrake, I encourage you to set this up. This is a really powerful feature which gives great insight into the relationship between your deploys and your errors.

The new activity feed takes this a step further, showing teams what changes were deployed, and when. Including errors each deploy was responsible for resolving. Projects that use a code management integration such as GitHub, Bitbucket or GitLab get links to code diffs, showing exactly what changes were deployed. We’ve found this feature particularly useful while trialling it internally, at Airbrake.

We hope you find this to be another useful tool in your quests to deliver quality software! We welcome any feedback and suggestions you may have. Without giving too much away, we have more exciting improvements for Airbrake in the pipeline.

New to Airbrake? Start your 30-day free trial today and you’ll be organising and tracking all your application’s errors in just a few minutes.

New: GitLab integration

By popular demand, you can now integrate your Airbrake directly with GitLab.

You can manually create GitLab issues from the error dashboard, or enable auto-creation to automatically create a GitLab issue whenever new errors occur.

Every GitLab issue created from Airbrake will contain critical error details such as error type & message, URL, file, short backtrace, number of occurrences and more. We will also include link back to the specific error in Airbrake for further investigation.

gitlab-issue

When you set up GitLab integration, we will automatically create links in the Airbrake backtraces that will point to GitLab repository files.

gitlab-backtrace

Are you using GitLab Customer Edition or Enterprise Edition? No worries, we’ve got you covered! Just choose “GitLab CE/EE” integration type on the GitLab integration page.

Full details on how to set up GitLab integration can be found here: https://help.airbrake.io/kb/integrations/gitlab.

Do you have idea for new integration? Email us at support@airbrake.io and we’ll do our best to bring it live.

Get Unlimited Projects for your Airbrake Account

Your software stack likely includes multiple apps/projects/repos, maybe written in multiple languages. A failure in any one can affect the others. So it just makes sense to monitor errors across your entire stack. Right?

Well right now for a limited time, you can get unlimited projects – for life – when you sign-up for a Growth, Business, or Enterprise plan. Already on one of these plans? Don’t worry, you now have unlimited projects for life!

Don’t think you need more projects? There might be more reasons than you think:

  1. Interdependency. When one app fails, other parts of code can be affected. And that means your customers are affected. That’s bad. By monitoring all your apps, you can get alerted to ANY errors that happen ANYWHERE in your stack. So you can fix problems fast.
  2. Proof of Concepts. When you’re constantly innovating, you try lots of new things. Some of those POCs find their way into Staging or, gulp, Production. Monitoring these POCs for errors gives you piece of mind, and allows you to be fast without being reckless.
  3. Flexibility.  Want to monitor different regions or configurations separately? Want different notification settings for Production vs. Development? With unlimited projects, there’s no limit to how granular you can get (if you’re into that sort of thing)

Bonus: we’re currently working on a cross-project dashboard. Soon you’ll be able to see error trends across your entire stack, and how deployments affect each project. The more projects you’re monitoring, the more complete and valuable this dashboard will be.  Look for this to go live later this year.

This offer is good through June 30, just upgrade from your account settings. Or if you’re new to Airbrake, you can sign-up here

New: Trello integration

Today we are happy to announce the new Trello integration for Airbrake.

Just like our JIRA, Assembla and Pivotal Tracker integrations, you can quickly create new Trello cards directly for any error summary.

create-trello-card

Or, save yourself time by enabling auto-creation. This will create a card automatically whenever new errors are found.

Trello cards will contain critical details like error name & type, environment, number of occurrences, backtrace, URL, and more. And of course we’ll include a link back to specific Airbrake error group, so you can quickly get all the info you need to fix the issue.

 

The complete Trello integration set-up only takes about 30 seconds. For full details, check out our knowledge base: https://help.airbrake.io/kb/integrations/trello.

What other integrations are you craving?  Email us at support@airbrake.io.

Getting even more context for errors & exceptions

Knowing that something has gone wrong is pretty valuable. Companies and software teams spend lots of time, energy, and other resources trying to find what has gone wrong and where the problem is.

But as developers and QA engineers know, sometimes all you get is “the app crashed when I tried to click on a button.”

It’s basically like getting this photo, with a complaint that the boat isn’t working. From this limited context, we can see the ship is old and rusty, with a lot of problem areas that could be fixed up — but which one is the real problem? 

wreck-687568_1920

Getting the report of an app crash caused by a button might be enough information to start your own investigation, but it’d be far more helpful to have some more context.

  • Which button?
  • What was the user doing before clicking on the button?
  • What other applications were running?
  • Cellular, wifi, or no data connection?
  • What other actions cause similar crashes or exceptions? 

There are many other pieces of information that help diagnose the root of the problem, each one adds a little more context and gets you closer to figuring out the real cause.

There are two important types of context for software errors: information about the application environment and information about what the human being in the real world who was using the application.

Backtracing

Information about the application environment is the kind of logging and filtering of data that a bug capturing tool like Airbrake provides. 

Back to our broken ship; let’s get a little more context:

wreck-687568_1920 3

We now know that the ship isn’t working because it’s stuck on dry ground on a beach. It might even be possible to trace what course it took to get there, which navigation systems were running, and what impact that rusty areas may have had. 

Once Airbrake is part of your app, it captures errors and exceptions, so you know what was going on in the background when a problem crops up. With aggregation, you can also see when errors are coming up in certain browsers, certain users, or servers.

You can see which parts of your app were running, backtrace to see everything that happened up to the point of the error, and in general get the nuts and bolts context of what’s going on.

Crowdtesting

Using a crowd of human testers provides the other kind of context for really effective bug capture, tracking, and fixing. test IO’s platform makes it possible to get real people checking over your app or website under real-world conditions.

To compare it with our shipwreck, it means you zoom out again and see how people similar to your users interact with it.  

wreck-687568_1920 2

Did they expect the ship to be in the water? Do the rust spots make a difference at all?

When you utilize the power of the crowd to do exploratory testing, human testers can provide you with much-needed context about the types of errors that surface in normal usage and even point out issues that don’t show up in capture tools like Airbrake because some issues are tied to user expectations, specific kinds of usage, and other assumptions people have when interacting with software products.

Better Together

By combining these two types of bug capturing, you get very different but equally helpful kinds of context for software development and fixing bugs. With the granularity provided by Airbrake, you can even pinpoint the exceptions discovered by testers and check the backtrace when you get their detailed bug reports. That means developers have the advantage of both a human-written document with screenshots or screencasts about the bug, as well as being able to see all the details of the application environment and backtrace in Airbrake for that particular bug report.

In the end, it’s all about getting enough information to your development team to empower them to make the right decisions and work effectively. Both test IO and Airbrake are striving to make software development better, they both do it by showing as much of the big picture to developers as they can.

New: GitHub Enterprise integration

GitHub has long been one of our most popular integrations for Airbrake. Today, we’re happy to announce that GitHub Enterprise users can now take advantage of this invaluable integration as well.

GitHub Enterprise integration effectively works the same as our regular GitHub integration. The biggest benefit is the ability to create new issues directly from your dashboard. Or even better, enable auto-creation so that issues are created automatically when new errors are found.

These GitHub issues will contain critical details like error type, error name, Airbrake project name, environment, backtrace and more. Plus, we’ll include a link directly back to the specific Airbrake error so you can dig deeper and quickly identify the root cause of the error.

github-enterprise-issue-template

And when you setup the GitHub Enterprise integration, Airbrake will automatically create error backtrace links which will point to your GitHub Enterprise repository.

github-enterprise-backtrace

Set-up takes about 60 seconds. Details on how to do that can be found on the right side of the screen when you visit GitHub integration page on your Airbrake account. Or you can get the full scoop here: https://help.airbrake.io/kb/integrations/github.

What other Airbrake integrations are you dying to have? Email us at support@airbrake.io and we’ll do whatever we can to make all your wildest dreams come true.

Airbrake gets serious (and a little silly) about comments

Until now the commenting functionality in Airbrake has been a bit, uh, limited. Users could add a comment for an exception, but only in plain-text. And email notifications can be pretty easy to miss – especially when you’ve set up filters in your inbox.

That all ends now. We’ve made two big improvements to comments that’ll make it easier to coordinate with your team to get errors resolved

Markdown:

Sometimes your comment can be as simple as “Hey John, fix this already!”. But often a bit more detail is needed. We’ve now added support for markdown to enable rich commenting.

Need to insert a code block to flag the problem area?  Check!

cat comment

Want to use bold to call attention to something important?  Check!

Need to create a to do list of:
1. Dependencies
2. Necessary Changes
3. Deployment steps
Check!

Want to include a screenshot of the user impact?  Check!

screenshot in comment

Want to show just how much you’re freaking out about this error?  Check!freaking out

Chat Integrations:

If you’re like us, you get lots of email. Like, a whole lot of email. Things get lost, things get missed. And your filters are probably designed to make sure you miss them.

Chat tools like Slack and HipChat make it much easier to scan through notifications (learn more about that here). And now, any comments you make can post to Slack or Hipchat automatically.

Hipchat comment

So your teammates might actually see themSlack call-out

Let’s see them ignore you now!

Have suggestions or feedback on how to make commenting even better? Other features requests? Lonely? Email us at support@airbrake.io anytime.

New: aggregated error data

During the last 6 months, we’ve been collecting lots of feedback from Airbrake users, and we’ve been listening! We’re excited to announce the release of the most requested feature, aggregated error reports, or ‘aggregations’ for short.

At a glance, aggregations can show you:

  • Exactly which users have been affected by an error. Do you want to contact affected users, or see how widespread the error was?
  • Which browsers experienced the error. Was this error browser-specific, or limited to bots?
  • Which servers experienced the error. Did a deployment go awry?
  • The URLs the error occurred on. How can I replicate this?
  • Notifier remote address, versions and much more!

aggregations

Airbrake is committed to providing excellent error tracking, we deliver the tools you need to debug and fix your errors, fast.

Aggregations are live, now! Hop over to your Airbrake dashboard and check it out. We welcome any feedback, please send your thoughts to support@airbrake.io.

New to Airbrake? Start your 30-day free trial today and you’ll be organising and tracking all your application’s errors in just a few minutes.

New: nested exceptions

The long-awaited feature has finally arrived. Airbrake now supports nested exceptions!

What are nested exceptions? Sometimes exception handling code can fail and raise an exception itself. In some languages such as Ruby, the original exception the code was trying to handle is stored in a new exception object and exposed by the Exception#cause method. Example of a nested exception:

def faily_method
  1/0
rescue ZeroDivisionError
  raise StandardError # Oh no, exception handling code failed!
end

begin
  faily_method
rescue ZeroDivisionError
  $! #=> StandardError
  $!.cause #=> ZeroDivisionError
end

Previously, Airbrake would only report the StandardError error. Beginning today our dashboard officially supports nested exceptions:

StandardError: StandardError 2016-02-23 06-28-28

Want to start capturing nested exceptions today? Start your 30-day free trial today and you’ll be organising and tracking all your application’s errors in just a few minutes.

New: error chart resolutions

Recently, we released error charts, allowing you to spot trends in your application errors. We’ve received excellent feedback for this feature, and we find it incredibly useful internally at Airbrake.

Today, we made charts even better, by introducing 3 resolutions: view 90 days, 90 hours, or 90 minutes of error data.

Chart Resolutions

We’ve already found the 90 minute resolution great for monitoring recent deploys for any anomalies. These resolutions also provide greater visibility into when you hit your rate limits.

We know you’ll find this is another useful tool in your debugging toolbox!