Airbrake Blog

Start your journey here to find information, best practices, and "how tos" to improve your error monitoring and application performance.

Discover the Power of Frictionless Error Monitoring

Try Airbrake with a free dev account

Content Archive

Airbrake Add-on available on AppHarbor.


We’re happy to announce that Airbrake is now available in the AppHarbor add-on catalog.  AppHarbor is a fully hosted .NET Platform as a service; letting you scale and deploy any standard .NET…

Airbrake Ruby Gem bumped to 3.0.6.


Last night we bumped our gem up to version 3.0.6. We’ve addressed a few lingering issues from 3.0.5. For a complete overview please see the changelog below. The Gem has…

Airbrake Ruby gem upgraded to 3.0.5.


Last night we bumped our gem up to version 3.0.5. We’ve addressed many of the issues and pull requests. For a complete overview please see the changelog below. The Gem… is now


As you know we’ve had to migrate from our previous amphibious name and under pressure we moved immediately towards Now that we’ve had time to explore availability, we’ve found…

Python Index Error: Index Out of Range

Introduction Today, we’re making our way through our in-depth Python Exception Handling series. In this article, we’ll discuss the Python IndexError: Index Out of Range.  Throughout this post, we’ll examine the Index Out of Range error in detail, starting with where it sits in the larger Python Exception Class Hierarchy, why it occurs, and how…

Airbrake Data: Top 10 Golang Errors

Who loves Golang? Our Airbrakers do! Although Golang allows you to manually find errors within an application using their built-in error interface, many developers rely on Airbrake’s error monitoring to do the work for them, saving them time and energy that can then go towards fixing those Golang errors.  Part of Airbrake’s mission is to…

400 Bad Request Error: What It Is and How to Fix It


The 400 Bad Request Error is an HTTP response status code that indicates that the server was unable to process the request sent by the client due to invalid syntax. As with the dozens of potential HTTP response codes, receiving a 400 Bad Request Error while accessing your own application can be both frustrating and…

Python Exception Handling – NotImplementedError

Today, we’re making our way through our in-depth Python Exception Handling series, and we’ll dive into the NotImplementedError in Python. The NotImplementedError is commonly raised when an abstract method is not implemented in a derived class. Throughout this post, we’ll examine the NotImplementedError in more detail, starting with where it sits in the larger Python…

Python Exception Handling – ValueError

Python is smart–smart enough to know when code is attempting to assign the wrong value to an object. That’s when you might see the ValueError in Python. Throughout this blog post, we’ll go into detail about where this error sits in the Python Exception Class Hierarchy, what it looks like, how it differs from a…

Go 1.17: A Few Golang Error Updates

Golang recently introduced their Go 1.17, which implements several changes to toolchain, runtime, and libraries. Instead of relaying every single change in the Golang 1.17 release, we wanted to highlight some changes that will impact the Golang errors you receive within your application.  Without further ado, here is a quick list of Golang changes to…

How To Use Node.js Profiling

What is Node.js Profiling  Node.js profiling allows you to use the profiler already available to you (–prof) through the Node.js program and discover performance-related issues within your application. With this profiler, you’ll be able to delve into the performance of your application and find what’s causing bottlenecks.  Common performance concerns include:  1.     Memory issues …

O11Y: Observability Best Practices for Developers

It can be stressful when you lack observability or “o11y” into your application. And definitely contributes to fear of deployments.   Yet, we hear that lots of developers have poor visibility into production. With poor visibility, developers are unable to see:  Where code is running Errors within code What users are experiencing  … unless they…

Tackle Latent Errors and Dark Debt With Error Monitoring

No matter how well tested and thought through, changes to code can cause failure—a common reason for this: latent errors and dark debt. When pushing new code, we can only do so much testing. And, unfortunately, we can never fully mirror production. Unlike test environments, production is performed on a larger scale and has:   Real…


Introduction  If you see the Node.js HTTP error, ERR_HTTP_HEADERS_SENT, there’s likely an issue with the response within your code. Your server may be trying several times to reach a client and failing because it can’t find the header.  The fix for this tends to be fairly simple. Throughout this article, we’ll go over where this…

“Airbrake has been a critical member of every team I've worked with. It allows us to identify and resolve issues before customers are affected.”


“Airbrake has such an intuitive experience for debugging that it enabled a significantly faster triage process. For a recent issue, I started reading through the git diff (~1000 lines) and spotted the bug within a minute or two. The fix was deployed moments later. All in all it took just 30 minutes from error detection to deployed fix.”

- EatSafeCode

“Airbrake is easy to set up, and the backtrace and environment tabs are particularly useful, as well as the integration with deploys.”

- HotelTonight