• Identifying a problem. • Isolating the source of the problem. • Correcting the problem or determining a way to work around it. • Testing to ensure its fixed.*
errors occur at build time. • Runtime errors occur at execution point. • Sometimes it may be due to server config changes or missing environment variables. Bugs Debugging Tracing Summary Profiling
errors) • Program will run, but it won’t go anywhere • Understanding requirements are important • Interface errors happen when you use code other than its meant to be used. Bugs Debugging Tracing Summary Profiling
of programming, because it takes up the largest percentage of your time while coding. There are three major phases involved in debugging: 1. Finding bugs. 2. Analyzing and understanding why bugs occur. 3. Fixing or removing bugs. Bugs Debugging Tracing Summary Profiling
A log is a record of events that happened over time. Log files can show any discrete event within an application or system, such as a failure, and error, or a state transformation. When something inevitably goes wrong, such transformations in state help indicate which change actually caused an error.
A trace is a log of events within the program often related to a single user. This log may be detailed enough to report function calls and returns, and execution of other statements. Traces can be used for discovering the chain of events that led to a problem The goal of tracing is to following a program’s flow and data progression.
Tracing acts like the blackbox of an aircraft during a crash: it helps you understand how things went during a crash, to discover the chain of events that led to a problem. It provides a low-level view to understand: • what triggered what in the program • with which arguments • in which order • how long did each step lasts
Profiling Distributed tracing is a method of observing requests as they propagate through distributed cloud environments Distributed tracing follows an interaction by tagging it with a unique identifier, which stays with it as it interacts with microservices, containers, and infrastructure. Distributed tracing pinpoints the exact areas where issues lie.
A profile provides an inventory of performance events and timings for the execution as a whole. This ignores the chronology of the events in an absolute sense. Profiling is a good way to discovering resource errors. Profiling and metrics are the last piece of the monitoring puzzle. Together, they provide a statistic overview of a system's health and tracked events over time.
Profiles range from low-level metrics like CPU usage or file I/O to higher-level metrics like throughput or latency. When aggregated and seen together, they are powerful signals giving you a holistic view of your system and can help detect issues.
Summary Challenges 23 Here’s what we know In Summary When used together, Logging, Tracing and Profiling can give you powerful insights about your services and systems: detecting anomalies when they arise and quickly understand the root cause of performance issues.