Observability: The Power of Logging and Monitoring

Just a guy who loves to write code and watch anime.
Search for a command to run...

Just a guy who loves to write code and watch anime.
No comments yet. Be the first to comment.
Qualities that make outstanding builders.

Bipedal vs quadrupedal: how many legs This is about the number of legs the creature walks on. Bipedal. Two legs. Humans, ostriches, T-rex, kangaroos, most fantasy humanoids. Quadrupedal. Four legs. Do

Intro You hear "lerp" and "smoothstep" everywhere in game dev. They sound like math jargon. They're not. Both are small tools that do the same job: smoothly move from one value to another. The problem

What is Kinematics Kinematics is the math field. It's the study of how things move without worrying about forces (which would be dynamics). FK and IK are the two branches: forward kinematics and inver

Intro Textures are usually the biggest cost in a 3D scene. Memory, bandwidth, and load time all get eaten by them. Resizing them is the obvious lever. There's more. This post is about the less obvious

In today's world, we use websites and apps like YouTube every day, where millions of people are watching videos and uploading content all the time.
But think about what would happen if these platforms couldn't keep track of what users do, like how many videos are watched or uploaded. Even worse, imagine the frustration if you paid for YouTube Premium but couldn't access to the premium content.
This shows how important it is to have logging and monitoring to both keep and make the user experience better.
Logging and monitoring are two important parts of keeping an eye on complex systems. They let us know what's going on inside, making it easier to quickly find and fix problems. Although they both aim to keep the system running smoothly and reliably, they do it in different ways.
Logging is like keeping a detailed journal of everything that happens in a system, from user logins to server errors. In systems spread out over different servers or locations, logging is important.
Instead of just showing error messages on a console like you might do in a local development setup, in distributed systems, these messages need to be saved to files, databases, or log management systems. This way, developers can look at and analyze them from anywhere, not just on the server where the problem happened.
Logs are often sorted by how serious they are such as info, warning, and error, and are written in formats that are easy to read and work with, such as syslog or JSON. This organized method lets teams sort through issues by how urgent they are and how much they affect the system.
Logging keeps a record of past events, but monitoring watches everything as it happens. It uses tools that keep an eye on the system's health and how well it's working, tracking things like how often it's up, how many errors there are, how fast it responds, and how much traffic it gets. This immediate information is key to knowing if the system is working right and spotting any problems early on.
For example, for a website where people share videos, monitoring can check how long it takes to upload and play videos. By setting up warnings for when things aren't working as they should, like if there are too many errors, teams can fix problems quickly, often before users even notice anything's wrong.
Modern monitoring systems can work with communication tools like Slack, making sure alerts quickly get to the right team members. This fast response helps fix problems quickly.
Time series databases are handy for monitoring because they are good at storing and managing data that has time stamps.
They are designed to deal with information that changes over time, like how many users are online or how fast the system is working. This feature is key for looking at patterns, predicting what will be needed in the future, and making smart choices to make the system work better.