CodePath EES2024 NEW RELIC - From Observation to Action: Exploring Debugging with Observability
Ready to build your tech career?
Accelerate with courses built and taught by senior engineers from the companies you want to work at. Free for CS students and CodePath alumni.
In this beginner-level workshop, you’ll learn how observability helps software engineering teams to understand the health and performance of their systems - and see not just *what* errors occur, but also when and why. Through discussion and hands-on exercises, you’ll explore the core pillars of observability, learn how to diagnose issues effectively, and make informed decisions to improve performance and reliability. By the end of the session, you’ll have a solid foundation in observability principles, plus practical techniques to apply to your own projects!
Hi everyone Welcome to the New Relic session we’re so excited to have you here if you’ve enjoined day two of EES give me a heart come on where are those hearts there they are yeah boo sessions were awesome weren’t they all right so we’re gonna say welcome to the breakout session from observ observation to action exploring debugging with observability hosted by New Relic we are excited to have you join us today I will be introducing our speakers shortly but first wanted to share a few reminders please utilize the chat to have conversations and share your thoughts during the session please keep your messages relevant to the topic of the session and note that the presenter can see the chat our team will be monitoring the chat and questions may be answered live during the session following the session we ask that you complete the brief feedback survey your feedback is really important to us with the reminders out of the way I’d like to introduce you to Rita Hill Rita Hill is a software engineer and Technical project program manager based out of Richmond Virginia she is the founder of refactoring tech a community created in 2018 to provide resources and mentorship to people from marginalized communities looking to break into the tech industry she is currently a program manager at New Relic where she leads the initiative to connect early career Technologies from around the globe to the world of observability through New Relic for students welcome to Rita hello everyone so excited to meet all of you today I sorry I missed yesterday for those of you who wanted to show up and I’m so glad I’m able to jump on today meet all of you a few of you have been connecting with me on LinkedIn and I’m just so incredibly excited to see all of you thank you for all the connections for those of you actually you can start presenting my screen because on this first slide here there’s actually a QR code let me know if it works because for those of you who haven’t connected me to you yet that is a link to my personal LinkedIn please feel free to connect with me ask me questions at any time I’m open and you know I’m always answering messages from folks if I don’t message you back right away trust me I’ve seen it and I’ll try to get back to you but I really want to make sure I can connect with you all as much as possible during today’s session also I’m going to go ahead as we’re getting started and I’m going to drop a link into the chat for you all this this Workshop that I do is typically a much longer Workshop it tends to run run more along the lines of an hour and a half to potentially two hours so today is going to be a little bit more of a crash course but for those of you if you already have a New Relic account if you’re part of the GitHub education student developer pack or if you know you got some quick fingers going on I know the kids these days are typing like a hundred words a minute in things so if you got some quick Fingers and you want to like follow along with the demo piece of it then you can go ahead and that the instructions that I’m going to share with you today are the same instructions that we actually use for this Workshop so I’m going to go ahead and chat and I’m going to share that with you all so again if you want to follow along with the demo piece just to get an idea and then recreate what I’ve done today on your own that is available to you to follow through and lastly before we get started as we all know Tech loves to you know sometimes not work with us right now while I do have the demo working if you see me kind of pause for a moment just click away I’m just trying to keep the screen from timing out and from hopefully our demo keeping up throughout the time of our presentation so goal is here today is to give you all an introduction to observability why it’s important in modern day software engineering development and just help you better understand why this is a tool that you need that you should have as a part of your developer toolkit and then of course as long as I keep my demo working I’m running it through code spaces if you haven’t used Cod spaces please please please do it’s an easy way to start up any applications without having to download a lot of different infastructure and things onto your computer we are using Code spaces to run that so as long as I can keep code spaces up and working I’m going to go ahead and be able to demo today for you as well at the end of today’s session so with that I’m going to go ahead and get give y’all just another second go ahead and scan the QR code if you have not on your phones and then I’ll get started all right all right so hello again my name is Rita Hill I joined Ur Relic in July of 2022 to lead the New Relic for students program my interest in coding started at the age of 12 as a child of the Myspace era I know I know there’s got to be some folks in the audience that know about myspace and Zena and Neopets or really I’m just really telling on myself I’m really just dating myself now okay I had Zena thank you okay I was like there’s got to be someone the audience I know this a career switchers I know some of y’all are younger but I was like I definitely know there’s got to be some people my age in here see GE cities look all right yes top eight was definitely some drama y’all are making me feel so good thank you so much that’s so awesome yes keep sharing y’all I definitely want to hear what we were doing back in the early 2000s on AOL dialup please so that’s when my interest started at the age of 12 I was definitely the kid that was Finding different layouts on all the platforms and kind of adding my own flavor to it and then in that I ended up teaching myself HTML CSS and JavaScript back when it was still really bad and it broke websites all the time but that’s how I got my start I graduated in 2008 and ended up taking a gap year and some time off to figure out what the next steps were for me for those of you who are around that time it was during the recession that we had in the US so people were losing their jobs a lot of crazy stuff happening and I really wanted to think about before jumping into college what was going to be that next step for me I decided that joining the Army was actually a great idea so I actually ended up joining the US Army back in 2011 and during that time I got to actually like pick up that love that I had for technology and was able to use a lot of the technical skills I learned to help make improvements in the work that I was doing in the military which is really cool so I got to reignite that interest of Tech while serving my country yeah so since that time I’ve worked everywhere from small age agencies to startups I was even self-employed for four years after going after working for a few startups and living that very interesting life very busy life and then I ended up picking up a job where I started teaching kids how to code and it was supposed to be just kind of a side thing but I found out I really loved it and I made a complete pivot in my te in my technical career at that point to move into techn education so I’ve been working with career switchers and early career folks for the last about eight years now of my career in Tech working at companies called companies like Shopify I used to work at thankful CH career Foundry and then code Wizards is where I got to teach nine-year-olds to high schoolers how to code I’m the founder of react refactoring Tech which is my own technical community that I built in 2018 but I’ve been a leader of different technical communities like women who code girl develop it since 2017 and just the contributing member where I was an instructor and things like that from 2014 on and I’m actually decided to become a student which is very like you know full circle from my work for new relica students but I decided to go back to school in January and now I’m actually a master student online pursuing my masters in computer science at the University of Colorado Boulder so what better way to help you you all understand how to break into this industry and grow your career successfully than to learn from a student yourself right so with that I know that was long I’m sorry I’m a little wordy but with that here’s our agenda for the time that we have together today so first I’m going to go ahead and give you all a little bit of history of software software architecture so you can better understand where we’ve come from and the era that you all are entering into into into with software development I want to go over what is observability what does that even mean and then we’re going to go ahead and do we’re going to explore New Relic and do some debugging with my scenario for today I won’t be able to take on any questions today however I will have an opportunity tomorrow so if any of you do have any additional questions about what we went over or you’re interested in going over the scenarios that I shared in the GitHub repository for today’s exercise I’m more than happy to connect with you all to tomorrow regarding that so just to give youall an idea of what we’re doing for today so so in everyone knows everyone knows this Infamous lovely logo I remember back in the days where I was getting my like three DVDs at a time renting them sending them back and I remember when Netflix started offering streaming and I was the first one to jump onto it and around 2009 is when Netflix’s streaming service really really really started to pick up oh the Blockbuster days oh God yes so Netflix launched their streaming service and as a lot of us know dur that time that was like that was really revolutionary right again we know the pain of Blockbuster having to go in the little tape on the side that told us the rewind our tapes and no one ever did and you know we pivoted the DVDs in Blu-ray and while that was definitely a step up like streaming and just being able to go online and pick anything you wanted to see on demand was the new way of us as we can see now 10 plus years later it is the way that we consume more content so Netflix was facing Growing Pains their video stream their video streaming service was growing rapidly and their infrastructure could not keep up with the demand so software at this point had typically been built using what we call a monolithic structure so that’s an approach to designing software where an entire application is built as a single indivisible unit in monolithic applications all the different components of the application are tightly integrated and deployed together so if you take a look at our diagram here every time I see a diagram of a monolithic application I think of it kind of like a three- layered cake right so underneath all of that frosting and Decor that you see on the outside of the cake so just like all of the bells and whistles that you see on your applications everything is just like stacked on top of each other right you need all of those different layers in order for our applications to work just like you need all three layers of that cake for it to be the cake that it’s at that has been advertised and then all your entire app is served with all three p Pie as well right so if we try to remove any layers of our three layer cake once we baked it what would happen our cake would fall apart right so it’s the same thing with monolithic applications they’re all built with every single layer on top of each other intertwined with each other and if you try to separate any of those pieces then our apps would fall apart too yes Tom Timothy thank you so much yes monolithic versus he knows where this is going monolithic versus microservices yes so monolithic architecture makes it easier for developers to understand how the different pieces of our applications work together because well all of the code for everything is there all in one place it also makes it faster for it also makes it faster for developers to develop new features and to roll back changes if something goes wrong and then because again all of that code is all in one place for you it does make it easier to follow requests to find any issues however scaling monolithic applications really starts to become difficult once the once the need for the application to grow is there because you can’t really scale individual components right because again everything is layered on top of each other so an error in one place can cause the entire application to go down if there are any major changes to an updat or framework updating the application can become really expensive and really timec consuming and then if you want to add any EXT functionality to that app you’re you’re typically restricted to the technologies that are already being used in the application sorry there we go so Netflix needed to take their current platform and create smaller much more manageable components of the application and connect them but at that time around 2009 a software setup like this didn’t really exist yet so new technology started to appear that allowed companies to deconstruct the large applications that ran their platforms and systems and turn each business function into a service a service is an autonomous platform agnostic software component so using a service instead of custom built components gave companies access to key features and functions that they needed to scale their business as they were no longer dependent on using just a specific language or framework and this led to to the creation of a new software architecture that companies are using or transitioning to today Netflix is one of the first companies to migrate to what we call a microservices architecture where applications are built as a collection of small independent Services representing a specific business capability they can be developed deployed and scaled independently which allows greater flexibility for developers and because each service is independent of one another maintaining the application becomes easier and release Cycles are faster issues that are in one system are less likely to affect other parts of the system and then now smaller more focused teams can work can focus on working on one specific business service at a time in just one second I got to do some clicking there we go all right there we go sorry y’all so what are the cons of the microservices architectures developmental sprawl so microservices can mean more services in one places sorry microservices mean that more services are now in more places created by more teams so if it’s not managed correctly the number of services we use can get out of a control the number of different teams working on a thing can get out of control so that’s going to result in slow development speed and poor operational performance so exp exponential infrastructure costs each new microservice can have its own cost for testing deployment hosting monitoring and other tools debugging challenges so a single business process can run across multiple services and that can further complicating that can further complicate debugging as we’re not sure exactly where the where we’re not exactly sure where along that chain that that microser where along the chain that the microservice has stopped working or which one it is and then a lack of standardization right so microservices as we’ll see in the demo today can make up several different languages and Frameworks so without a common platform you’re going to tend to have Engineers who are stronger or not stronger different Engineers that are working on a different service working on a service that is within their scope and language so if another engineer needs to assist they may not know that language or they may not know that tool in order to figure out where the issue is and then just the lack of clear ownership as you can see in this GIF unfortunately it’s on a PDF so it’s not moving but that’s that’s my favorite gift that Zooms in on how I feel when there’s a lack of documentation and ownership if folks aren’t documenting these services and how they work again it just adds to another difficulty of who do we go to for support who do we go to to solve the issue so a lack of clear ownership and a lack of documentation can make it much harder to figure out who to go to to support any technical problems that arise so how do we solve how do we monitor all of these services that are being used for business applications today and that is where observability comes to play so observability gives Engineers a proactive approach to analyze and optimize their systems based on the data it generates observability performs oh sorry observability platforms provide a centralized way to view this information as well as the flexibility to ask questions about your applications to understand your systems Behavior oh man y’all I’m so sorry my light went out to help you understand system behavior and get you the answers you need to improve your applications performance observability is more than just monitoring it gives us the realtime fully connected view of your software data in one place giving you the ability to quickly eliminate digital disruptions and ensure users that to ensure users of your application have a positive experience so when working with microservices architectures remember like I mentioned before that if one service is working across a chain with many other services it can be pretty hard to figure out where exactly along the chain that the issue has occurred or where or which service is the one that in fact is causing an issue so by having an observability solution you are now able to quickly pinpoint where the issue is who among each of the teams are responsible for finding solution for finding Solutions and just how to quickly eliminate that that digital disruption so in order for us to understand the different data that comes through our observability platforms we need to understand what the we we need to understand what that data is at the basic level so every piece of data that comes from our technology stack into a platform like New Relic is called an event and an event is a distinct action occurring at a specific moment in time so when you think about all the actions that you’re taking on your applications everything from the user viewing a page to submitting credit card information those would be noted as events right so when I was thinking about a relatable way to talk to you all about events and help youall understand the data that’s coming through our applications the one thing that I could think of that I believe we all can relate to at least at one point is our lovely Force bonding activity of Escape rooms Escape rooms are great because they tell you exactly which co-workers you’ll need to call in the event that you need their answer to in a game show or which one of them you wouldn’t want to be stuck in the elevator with in the event of the incoming apocalypse so with that I’m going to take the one event of an escape room that happened and I’m going to break I’m going to use our core pillars of observability to explain to you to show you how you can get data from a specific event and how it can help you eliminate digital disruptions and help you solve problems and yes that is actually my entire team in Portland earlier this year we had a team bonding event in escape room and I can assure you that I would love to be with all of my team members in the event of the Apocalypse because I know they would get me out of the room safely so I just want put that out there in case any of y’all see them I told them y’all heard it from me so how do we see information about events so for those of you just putting this out there in case you haven’t been to an escape room you’re locked in a room with several of your friends in my case my co-workers right and the only way for you to give out is to solve a series of Clues so a few of the clues were easily accessible but as we solved one clue we’d find that another was hitting behind a lock or in a book or in a lock box or inside of a lock box so as you can see there are so many different events that are happening within that hour that we had together that led us to our final result which was escaping out of the room so we are like trying to V like so as you can see like there’s so many different events that are happening so you got to think of a way of how can we visualize and see all of the events that happened within a period of time so there are three pillars of Telemetry data that Engineers use to Vis visualize these events and help us understand what’s going on in our applications so the first one is metrics and metrics are an aggregated an aggregated number of events that occur over a given period of time logs are granular details that are happening within our applications and then we have traces and traces are reports on how data is running in between the different microservices so I’m going to dive into each one of these but these are to give you examples of what they look like inside of New Relic or any other observability platforms so I asked Spence how many puzzles he solved within the hour that we were in the escape room with the clues that we found he started thinking out loud the first 10 minutes in I solved this one about five minutes later I found the key and after doing this for a moment or two he confidently told me he saw five of the puzzles he literally said I saw five of the puzzles in the hour that we were in the scape room this is a fact so y’all can quote him on that not only did I realize that my strength at the moment was not solving puzzles or finding Clues because I definitely only found one Spence made it easy for me to know exactly what I asked so by providing a summary of His hour in the escape room he gave me a metric that I could use that I could compare answers to so like I mentioned metrics are aggregated numbers of events that have occurred over a given period of time so a metric could be something like a total number of events an average or even tell you the minimum or maximum number of times something occurred during a period so the great thing about metrics is that I’m not just left with a final number to work with but I’m still able to look within the data to see specific information to see when the specific information I’m searching for that occurred so the way I like to think about metrics is that they’re going to give you like the overall Vibe of something that happened within a given period of time so they’re really great to give you like a bird’s eye view of what’s Happening but for to solve certain issues you’re really going to need to die deeper and use something like logs or traces to pinpoint certain issues so on this slide here’s a great example oh I’m sorry y’all on this slide this is a great example of like what looking for looking at a metric what would look like with a New Relic so like I said you want to use metrics for searching things within a specific time period so for this slide here it’s showing you between 1050 oh sorry so between 10:45 and 1055 a spike of traffic that came through by the hundreds of people that were run that were checking the front end service so as we can see we had no traffic around 10:45 a.m. And then it jumped up to about 325 users drop back down to about 2505 minutes later jumped back up and then we were rounding out going towards like 1052 it drops back down to 200 before traffic slows down again so again we’re taking that time period and we’re able to see how much data comes in that time period but then we can also pinpoint to specific moments in time to see what Chang occurred all right so this is my lovely coworker Rees and Harry and Rees ended up spending 10 minutes of our time in the escape room solving a crossw word puzzle and this crossword puzzle was really hard and it was a key clue that we needed to unlock another piece of our escape room so I asked Reese to give me the details of how they solved their puzzle and how they figured out each word to complete the puzzle so Reese ended up giving me a very detailed story as this was a 12-word crossword puzzle and she started to tell me how she solved every single letter in the crossword puzzle as I’m sure y’all know this can with with a 12-word crossword puzzle this started to be a really long story she was giving me very detailed letter by letter and it was becoming a little bit a little bit overwhelming but she was really giving the granular details that I needed and that’s exactly what logs do for us so logs are those granular details of actions that are happening within our applications simply just the play byplay of what’s in place so logs typic typically appear As Time stance down to the millisecond of every detail that makes up an event in your application so logs are great for you know exactly what time and error occurred and want to look back at every single thing that happened at that moment to pinpoint the action solve the problem but like I mentioned because of the granularity of logs we can have many logs that occur in one event so that means over time one application can generate thousands of logs this can feel confusing and even overwhelming so if you have an idea of what service to look at you can view the logs within an individual service to make it easier and if we take a look at the screenshot that I have here we have 729 logs that were generated from that same time period that I showed you in the previous slide with metrics So within the four different events I counted within that 10 minutes of traffic we generated 729 logs from that so logs again are really going to be good if you know exactly what service is causing the issue and you want to figure out exactly what time it happened but you probably don’t want to start off by looking in your logs right away to solve issue because there’s just so many of you so many of them for you to go through and as I was thinking about the events of the escape room that day I remember sorry and as I was thinking about the events of the escape room that day I was trying to figure out how long I spent doing everything so when reys picked us up in her Lamborghini and she took us to the escape room and then took us out to the fancy dinner at the hotel I’m trying to figure out how long did all of that take and how long did it get from us to move from place to place to place and as you can see the lovely picture of us in the Lamborghini that’s 100% not photosho whatsoever and that’s where traces come in so retracing our steps is something that we do every day right whether we’re just making a mental map of the events that happen from that day or we’re looking for something that we’ve lost right so with observability we can also Trace how data is moving throughout the microservices of of our application so a trace is simply a report on how an application is running with the information of how long it takes to move from one microservice to the other and this data can be seen in what’s called a span and the great thing about traces is that if my application is taking longer to load information or a component is broken I can actually see if that particular microservices microservice is actually causing problems within Services it’s connected to and with that y’all I’m going to go ahead and show you all what each of these look like inside of the New Relic application now that I got some data going yay so looks like my Demo’s working so far so I’m going to stop sharing this screen and then I’m going to share with you all my window and then we’re going to look at some data in New Relic exciting how are yall feeling so far I know that’s a lot of information but I’m hoping so far you’re grasping the idea of why observability is important in the rules that y’all are going to be taking on as you start your careers awesome good yeah like I said know it’s a lot but I’m hoping it I’m hoping it’s helping so far and then I will defin definitely like I said with this demo I hope it makes it even easier oh no don’t do this to me I love it I love yes share okay yes I was just making don’t share my don’t share that screen okay I was like oh no I love when Apple likes to make make things difficult for me there we go fantastic so everyone can see my astroshop screen correct we can all see the lovely astroshop application fantastic great swear y’all know how to use Tech swear I’ve been an engineer for 10 years so excited great so for those of you who are who was able to grab the link of the GitHub this is the application that you’ll be spending up today this application just give you an idea of the amount of microservices it runs it runs off of about I believe 19 different microservices and each of those service microservices are used used different Frameworks and different languages so everything from java to JavaScript to go PHP and there’s another one that I can’t think of at the moment but that’s just to give you an idea that like a real store like this would have several different teams working on different business applications with it because they’re all handling different Frameworks and they use different languages so with the astrop today in the link that I shared with you all I basic I essentially take a couple of items I put them in the cart and I complete checkout that’s what I want to do so for those of you who don’t know because I share this when we do this Workshop typically one of the reasons why I love this shop is I’m an amateur astronomer I have an entire whole sleeve of my left arm is the entire solar system I love looking at stars I really really love this application for it so in my dreams I like to buy these really expensive telescopes and things that I don’t have yet so with that I’m going to go ahead and put an item into my cart I’m going to go back to the main page I’m going to click on some other items if you scroll down to the bottom and it tells you this in the in the demo instructions there’s an ad so if I buy one cleaning kit I can get the second one for free so let’s go ahead and get two cleaning kits I like that all right so I got some items in my cart I want to go ahead and check out and I got a credit card number that was given to me so let me go ahead and do some updates and then place the order I should get a confirmation screen but it didn’t let me click it again did not get a confirmation screen let me check my card number I think it was 54 and it was right before all right so looks like my card’s not working let’s go ahead and take a look at New Relic and see what is going on so I might need to switch toab yes I will need to switch tabs so just give me one more moment I’m going to go ahead and share to our last tab for today we’re going to go ahead and take a look inside New Relic and to figure out what is going on all right so everyone can see my new Relic account right all right so like I mentioned we have several different microservices for this application so we have a total of 19 19 different well no sorry I have a total of 19 different Services I also have my new my computer instrumented with New Relic but for the services for a platform we actually have 18 so everyone in chat go ahead and tell like when you’re thinking about all the things needed to run an e-commerce platform right and it’s actually oh no it’s getting too dark so I’m G turn off my camera for a moment but when we think about all of the different functionality that you need for an e-commerce store what are the different services that are needed right so let’s think about it for for the e-commerce you need something to handle the payments right you need something to handle the checkout right need something to handle there we go yep you need something to handle the authorization correct you would need something to handle I’ll give yall some hints I’ll start scrolling you’re actually able to buy something yes you need one to manage the inventory correct so you need one to manage the inventory because there’s different currencies involved and requires you know data being processed in real time a lot of the times you need one to manage the different currencies so as y’all continue on in your Learning Journey you’ll be able to think of a you’ll be able to think of these things a lot more and for those of you who are frontend developers when you think about components right for those of you who have written projects in react every piece of your application you create a component right that’s essentially the same way you can think about building microservices on back end so for a lot of you if this sounded really confusing I hope I really just blew your mind and made it a lot easier for you because it’s the same thing of building components in react so so these are the different services that we use I think I’m over on time right now aren’t I just realize what time it is how am I doing on time let’s see you’re good on time don’t worry okay cool oh I Fant okay I was like oh man how am I doing on time all right fantastic so did the no it’s still oh you still don’t like me ah all right so let me go back here all right so we got 19 different microservices that run our app I have some of them starred because some of these have data that I know comes through that’ll be useful for you all oh thank you for that yes because I am in future time I know some of you might also be on the East Coast but so we have the accounting service that handles all the accounting we have the ad services that handles all those ads that run at the bottom of the page the cart of course manages the cart the checkout man manages the checkout there’s actually a fraud detection service and the fraud detection service actually checks the credit cards for fraud so if you’re trying to input a credit card number that doesn’t work it’ll actually like decline the credit card and say it’s yeah that it’s not a valid credit card number that you’re trying to use and then the front end of course manages the front end of the application I talks about the currency the image provider is actually one piece of managing the inventory that I believe was it April no it was Andrew that me oh no April and Andrew mentioned the inventory all the images from the inventory so that’s one of the services that work with the inventory the product catalog service is the main one that handles the inventory the payments the quote that is generated for taxes and then the shipping service that handles setting up the shipping what are you using Kaka for that is a good question I am not super familiar with the with this particular like the kaka’s use on this particular application but I know that it’s work it’s essentially like a it’s working as a container and I’m going to tell you right now that backend is not my specialty I more of a front end developer so I don’t gaala is being used I know that actually one of the errors that this generates is is an error that won’t be like you can’t spin up the application if the container is what what’s the what’s the error for it’s like it says kakka is unhealthy so there it’s basically an issue with the container and it won’t spin up it won’t spin it up at all so that’s that’s all I got for you but you can if you try to spin this up using make and anyone wants to correct me for it and send or not correct me but if anyone wants to give me info and send me a LinkedIn message or if you want to meet with me tomorrow I’m happy to give y’all some swag cough cough Co yeah the the the error message literally says cofa container is unhealthy so I’m just like oh looks like the container’s not the container didn’t the container basically doesn’t create properly so but I can’t tell you exactly what it’s for I’m happy to link y’all to the documentation as well I’ll do that when we have time at the end so you can get a better idea how cka how kofka is used within this app but all right back to where I was so as we can see my if you look at the screenshots on the workshop read me that I gave y’all I’m supposed to get a a a confirmation page at the end right supposed to get a confirmation page that told me that my order successfully went through however it is still not told me that my order went through so I’m a little upset about that oh no it stopped working that’s why all right let me go ahead and respin up my code space but y’all can see everyone can see this in the meantime yeah I love Tech all right so the first thing I want to do is I want to go ahead and actually give youall a live demo of what the frontend service looks like with data coming through right so when you’re looking at all of your different Services they’re listed in New Relic under entities and then you can go to entities using different shortcuts so using our application performance monting service you can either press G1 you can just click it and it gives you a list of all of the different microservices that we call entities inside of your application so you look at them here I have stars next to mine let’s say that there’s an application that you’re working on pretty regularly and you are constantly looking at specific microservices and diving into them to solve problems you can actually star them and then whenever data comes through for that particular application it will it will re it will always load those to the top sorry lost my words there okay so let’s take a look at the front end I want to look at all the data that came in on the front end while I was presenting to y’all because I had this application running on the back end while while I had been speaking all right so I can see everything that occurred in the last 30 minutes I can change this to 60 Minutes 3 hours however however many hours but I haven’t had that application running that long so let’s take a look at what’s happened in the last 30 minutes so looking at the front end I can see the response time for every user or the response time for the front end to load from every user that has came through so in the last 30 minutes I can see all of that which is cool and then we can see where the application dropped off which is when I realized it stopped working so data stopped coming through at that point and if I go to I want to look at metrics first so there are a couple ways for us to view metrics in New Relic the easiest way and the way I recommend you all start off is just looking at the metric Explorer and the metric Explorer if you look right here one scroll down on the service you want to be in which is the front end you can click metric explore and then we can take a look at a list of some dimensional metrics that they generate for you so let’s say I want to look at all of the frontend request that came in in that time frame that I spent talking for our talk today so I can see how many different requests came in so at 6:30 and I what I can do is I can hover over so at every single minute I can see how many different requests came in which is really cool so I can see that in that total amount of time should be hold on oh no there we go that’s not the one we don’t want to use a line chart so I can see the total number of friend and requests that came in during the length of my talk was about almost 6,000 so 5.8 th000 friend and requests came in through the application so we have a really busy application if almost 6,000 different individual requests are coming through right we got 6,000 people looking at our app that’s important so I can feel that all came in within the last 30 minutes well you also can do for those of you who who are who like SQL or you like writing queries New Relic has what’s called nrql which is our do Relic query language and we actually have the querying that you can specifically do for different entities as well I don’t want to go through all that right now because that’s another step for another time but for those of you who already have experience with a language where you’re doing some querying you can absolutely query in New Relic as well so yeah that we have 5.53 total front end requests in the last 30 minutes it’s a lot of requests now let’s take a look at logs so I’m going to go ahead and go back to all of my services and I’m still trying to figure out why my checkout isn’t working maybe is it the cart take a look at the cart let’s see if there are any errors coming through on the cart I’m going to take a look at the logs all right so I’m going to go ahead and take a look at the logs as you can see I have 2534 logs So within the last 30 minutes I’ve generated that many logs so this is a great example of what I told y all before right that if you’re if you have an idea of where to go logs is going to be the place but every application very very quickly generates logs off of even like the time amount of actions so I don’t see any noticeable errors it looks like I can see where I can see where it did a call to the cart it added the item the item’s product ID the quantity to the cart made some more calls to the cart and emptied the cart so I can see that my card is working I can see that it’s as I’m clicking through the website it’s making random calls to the cart just to check you know checking how many items are there but I don’t see any error messages here that was telling like that are telling me that at any time the cart did not properly add anything so I don’t think my cart’s the issue here looks like everything’s added into the cart but there are no real logs and I can keep searching through 2534 logs if I want we don’t have time for that today and it’s not showing us any errors either so I noticed that every like I wasn’t getting any error messages when I clicked on place order so it could also be the either like the shipping service the accounting well maybe not the accounting could be the accounting but the shipping service the confirmation page so there’s probably some service around towards the end of you know completing the checkout that’s causing the issue and the good thing is there’s actually a service called checkout so why don’t I just take a look at that so let’s go ahead and take a look at the checkout service and the last things I want to show for you all today is we have what’s called a service map inside New Relic the quote surface is another one I could check too it could also be the quote service so for the checkout service the checkout service is the best example of a microservice that affects all of the like that affects so many other microservices with in the application so if you’re ever unsure of where to start but you’re seeing an error message in your summary of all of your insanes that there’s some errors the you can go within each entity and and just scroll down on the sidebar to service map and it shows you all of the different services that are affected or get information in some way from another service so our frontend service of course that handles you know all all of the user UI and all of that will send the data to the appropriate services to complete transactions on the website right so if I click the checkout service if I click to try to check out the checkout service is going to talk to the Currency Service the cart the shipping the product and the payment which all makes sense right because it’s going to check the currency it’s going to check the items in the cart it’s going to check the amount for shipping it’s going to make sure the items are coming from the appropriate items are coming from the product catalog and that the payment that has been submitted is valid so those are all of the different services that are needed to help us complete our checkout so always check your service map if you’re seeing that a particular service is causing an error but you’re not sure if it really is that service or maybe one of the service that is Services that’s interconnected with but to make our lives easier the great thing about New Relic is I don’t always necessarily need to poke around to try to figure out what’s wrong because we have this wonderful thing that shows us errors in our err is Inbox inbox is the quickest way for us to discover what’s going on in a h particular service so as you can see while metrics are great for just really getting data logs are really great for trying to pinpoint issues but really just want to figure out an error y’all we can just go to the errors inbox and let get solve our problems so when I go ahead and take a look at the checkout service I noticed that I do in fact have one error and that one error is also giving me it looks like a pretty detailed error message so let’s go ahead and click that I can see that it occurred twice as y’all know I did try to place this order twice so hey it looks like this might be our problem go ahead and click on that and then here’s my error message that it failed to charge the card and that the credit card info is invalid So I entered in the wrong card number and that is why the credit card payment didn’t go through now because code spaces unfortunately stopped working on me because I had the code space open for the amount of time that I could what I simply would do is go back and change the credit card number to the correct number and then once I hit place order I would then get the confirmation page that’s in the screenshots but I don’t have time to spend that back up but everyone that is my demo for today so thank you I’m loving the energy here I’m loving like you all seeing the the value how quickly we can solve problems yeah thank you all so much all right well thank you so much Rita we really appreciate all this interesting work on debugging I’ve honestly never seen anything like it so for me it was like a huge learning experience so I really appreciate it I can’t believe we’ve reached the end of our session thank you so much Rita for all your hard work and all of your managing the tech which is amazing and the engaging presentation please drop your appreciation in the chat and make sure that you go and visit Rita tomorrow at her Booth Rita what time were you there oh I think she’s not on stage anymore so she was there during Booth networking time I think she’s there for the first hour we encourage you to go visit them and to close us out we’re now going to give you a brief video from our host Bobby D thank you for joining us in this session I got some information before you leave it says please take a moment to complete a brief survey to share your feedback remember how valuable feedback is I’m trying to come back through years in a row and it’s all based on feedback right to see what comes up next I want you to head back to the main stage and check out the schedule see you soon in the next set of sessions




