Operations | Monitoring | ITSM | DevOps | Cloud

How we built an automated debugging workflow at Sentry

AI is going to generate a lot of code from here on out, and a lot of bugs along with it. You already know this. We’ve talked about it before. The bigger challenge is making sure you don’t spend all your time fixing the broken code your agents write. You’re going to need a system that makes it easier to fix those issues for you and fortunately, there are a lot of solutions out there for building automated workflows.

Your OTel spans, our errors: A Sentry love story in one trace

You can already send OTel traces to Sentry. Point your OTLP exporter at Sentry’s endpoint, set environment variables, and your spans show up in the trace explorer. Our OTLP setup guide and “You Don’t Need to Pick One” walk you through that. But those spans are islands. You get a trace waterfall in Sentry, sure.

Session Replay for Unreal Engine: see the crash before the crash

You know the drill: a crash report lands in your queue with a pristine stack trace pointing at some innocent-looking function and absolutely no clue about what the player was actually doing. Were they mid-boss-fight? Alt-tabbing during a loading screen? Standing perfectly still in the tutorial? QA can’t repro it, the player’s bug report says “game crashed lol,” and you’re left staring at a callstack playing twenty questions with a core dump.

From 57 bugs to 1, thanks to Seer

I was at the dentist the other day, getting ready for my appointment. The waiting room was pompously decorated. Each chair seemed to be from a different, expensive Danish designer. As I realize I’m about to get charged through the nose, I get a notification from my beloved Mail app. ** ding ** Screenshot of GitHub email notification It’s a new Pull Request on GitHub. This one is different though. I have no idea where it came from!

How to structure a log

You’ve decided to step up your logging game and start sending more valuable, structured logs that you can query, aggregate, and use for debugging in production. Go, you! Now, uh, how do you actually write them? We’re not going to spend much time on what you should log. We’ve covered that already, a few times before. What we will be covering is how to actually write those logs, answering questions like: What makes a log structured is not just pairing messages with arbitrary JSON objects.

MongoDB Query Tracing in .NET with Sentry + OTLP

If your.NET app talks to MongoDB, you almost certainly want to be able to measure DB performance so that you can effectively debug any performance issues you might run into. For that, you need to know which database command was running, how long it took, and whether this was a one-off blip or part of a broader pattern. Ideally, you also want to pivot from that trace to related errors and replays without stitching the story together by hand.

When and what should I be logging?

This is a follow-up to Sergiy’s post Errors, traces, logs, metrics: when to reach for what. Modern observability platforms, like Sentry, give developers a lot of choice. For a given problem, should you use traces, profiles, metrics, logs? If you take away one thing from this post, I hope it’s this: when in doubt, start by adding a few targeted log lines.

Any Apple update can break our app. Here's how we find out first.

This is a guest post by Dan Mindru, a Frontend Developer and Designer who is also the co-host of the Morning Maker Show. Dan is currently developing a number of applications including PageUI, Clobbr, and CronTool. It feels like with every release, we are walking a tightrope. We need to keep our app lightweight, stable, and performant, all the while depending on APIs that can shift at any moment (without warning, too!).