There are a lot of things we, at Sentry, love about Rookout, a Sentry Integration Platform early adopter. First of all, Sentry loves purple, and Rookout loves purple. And, Rookout helps fix software in production, and Sentry helps fix software in production. Together, the two tools cut time from error to resolution. Honestly, Rookout and Sentry integrating is just kismet.
If you’re a Rails developer, then you’ve probably used Rails Logger on at least one occasion or another. Or maybe you have used it without even realizing, like when you run ‘rails server’ and it prints information to the terminal window, for example. Rails Logger provides us with a powerful way of debugging our applications and gives us an insight into understanding errors when they occur.
No matter how carefully coded, reviewed, and tested your Ruby code is, odds are good that at some point you’ll cause a catastrophic failure to at least one system you’re responsible for. How do you prepare yourself? You need a Ruby debugger. In this post, I’ll cover the whole Ruby debugger process—from finding the issue to determining the root cause. Use these instructions for debugging a single Ruby file, a Rails app, or a gem.
Great writers use metaphors to get their point across so let me give that a try real quick. Bugs are nasty little pests, mm’key? It’s hard to get rid of them but apart of just spraying poison everywhere, there are only a few options left. One of those options is using a natural predator to those bugs, a predator like birds. So birds can help you get rid of bugs. I work for a company called Dashbird that help developers debug their AWS Lambda applications. See what I did there?
Working in C#, as with any language, you’ll soon find that that you need to do some debugging. With C#, thankfully, due to a plethora of debugging tools and techniques, troubleshooting is usually straightforward.
When I first joined this startup that makes an observability platform, I was a front-end Javascript developer who had never ssh’ed into production–I didn’t even know what tracing or monitoring or metrics were, let alone what it meant for logs to be structured or how they could be useful to me. But within a couple months I joined the on-call rotation, and now share responsibility in our services along with the rest of my team.
Netlify functions are a quick, easy and powerful tool, but like most serverless platforms, they can be even more difficult to debug and monitor than traditional server applications. It’s a hard environment to precisely recreate locally, there’s no machine you can SSH into in a pinch, and no built-in error notifications. Your code is going to break eventually, and you need the tools to fix it.
Let’s start with the happy ending — after a long search, we managed to identify a Netty memory leak in one of our log listeners and were able to troubleshoot and fix the issue on time before the service crashed.