You are welcome to follow along. It's a two-hour workshop. We will take a short break in the middle. We will have instructions for you to be able to follow along. Since you're here a little bit early, if you want to just make sure that you at least have, we're going to be using Visual Studio code. You can use whatever editor you want, Python and Docker. So if you make sure you have those things and a GitHub account, then we should be good to go.
And I'll apologize if my voice gets a little raspy. I got sick yesterday. I don't know from where. My kiddo went back to school after five days of not being there and must have picked something up. So, you know, what are you going to do? So we're going to go ahead and get started. We've got kind of a slow ramp-up. So if folks are joining, thank you. If folks are joining a little bit kind of on a rolling basis, that should totally be fine. But welcome. My name is Sarah Guthals and I lead DevRel at Sentry. We're going to give you a quick introduction to Sentry and then we're going to get into a live demo where you get to follow along. Like I said, I'm based out of Washington State, a little outside of Redmond. And this is my colleague, Lazar. Hey, everyone. I'm at the office today, which is pretty cool. Nice. I am also at an office, but it is my home office. All right. So let's go ahead and get started.
A couple of housekeeping. As I mentioned, the chat is open. Feel free to let us know where you're tuning in from if you haven't already. Let us know any questions that you have and just kind of impressions or comments or things that you might have there as well. Okay. So what are we going to do? We're going to do a quick monitoring deep dive. We're going to show you this app that we, well, we, Lazar has built, which has a Next.js front end and a Django back end. We're going to debug this app together. You can just follow along and watch. All of this is freely available. So you're welcome to try it now or try it later. And then we're going to give you time to actually try it on your own and kind of share what you've learned. Okay. So let's get started.
First of all, you know, Sentry is a monitoring platform. However, we want to kind of push what that means. What monitoring, APM, observability, like all of these terms, just like the words themselves, imply a sense of passiveness, and that's definitely not what we are trying to build. What we are always trying to build is something that is more proactive, not even just active, but proactive. So we want to encourage you to not just observe, but to debug. And what does this really mean? The way I like to think about it is that platforms that support developers throughout their debugging workflow should help you in three key areas. They should help you contextualize, prioritize, and trace. So what do we mean by this? Well, contextualize. Understand the context about what went wrong. Is it happening on every single browser or is it only happening on Chrome? Is it happening on every single device or only on Android? Is it affecting, like, you know, every, like is your app completely crashed or is it only affecting this niche area of the app that not a lot of people are using? This kind of information helps you contextualize, helps you understand where the problem might be, and helps you understand the next step, whether you should prioritize the problem. And in addition to that information, prioritizing is not just knowing kind of how important a problem is in and of itself, but knowing how important a problem is compared to all of the other problems. So do you have other problems that are escalating that are affecting your checkout versus one that might be affecting some smaller niche area of your application or your website? Do you have a bug or a slowdown that is affecting one of your key user groups and the ones that are maybe paying more and so you want to prioritize those fixes faster? Or is it affecting folks that are on a free plan that maybe are just kind of giving it a trial? Obviously, in an ideal world, we would fix all of the bugs as quickly as possible and have a perfectly running app, but that's not the reality of what we're faced with every day. And then once you've been able to kind of understand what the problem is and prioritize based off of that those insights whether or not you should fix it, we want to take action. The contextualize and prioritize is kind of that more passive, you know, observe or monitor kind of feel. The trace is really where that active piece comes in where we are actively debugging.
So rather than sifting through mountains of logs or looking at user feedback that just says it's broken and you're like I know, but can you give me more information? Can you give me a screenshot? Can you tell me kind of anything that will help me be able to figure this out? We want to help you be able to trace down to the root cause of the issue. Ideally, that line of code or that database query that's causing that issue. Be able to make that fix quickly, deploy that fix quickly, and make sure that that doesn't regress again in the future. So again, we have kind of three main areas, contextualize, prioritize, and trace. And this is what it means to have a platform or a tool that helps you debug.
Any questions about monitoring or debugging, please feel free to add them into the chat. Otherwise, I think what's more important is that we actually see this in action, because I can tell you all day what's going on. Let's actually see what's going on, though. Right? So we're going to debug some bad code. Again, to get started, make sure that you have Docker and Python, some kind of editor. We're going to clone this repository. We'll throw links in the chat. And then you need to start your Docker container. Now, I'm going to do this with you. So, you know, you don't need to, like, super rush, but we're going to do this together. We're going to get this going, and we're going to try it out.
This application that we are debugging is a flashcard app. Like I said, it's got a Next.js frontend and a Python Django backend. So let's give this a try. This is the repository. This is open source. It's our flashcard repository. And I'm just going to grab this here. And I'm going to open up VS Code. And I'm going to go ahead and clone this. So we're going to go here and clone repository from GitHub. Awesome. And you know what, we're just going to put it in documents for now. Sounds good. Okay. So we're going to clone this, and now I've got it on my local machine. So hopefully you've done the same. Let's take a look at what we have here. Lazar, you built this.
Comments