What is Debug
Debugging is the process of identifying and resolving errors in software. It is an essential part of the software development process and helps developers to identify and fix issues that may arise during the development, testing, and deployment of software.
There are many different techniques and tools that can be used to debug software. One of the most common techniques is to use a debugger, which is a tool that allows developers to step through the execution of their code and observe the values of variables and other data at different points in the execution. This can help to identify where errors are occurring and what is causing them.
The USE Method
USE is an acronym for Utilization, Saturation, and Errors. Brendan Gregg suggests using it to get started quickly when you’re diving into an unknown system: “I developed the USE method to teach others how to solve common performance issues quickly, without overlooking important areas. Like an emergency checklist in a flight manual, it is intended to be simple, straightforward, complete, and fast.”
- Utilization: the average time the resource spent servicing work.
- Saturation: the degree to which the resource has extra work that it cannot service, often resulting in a queue.
- Errors: the count of error events.
The RED Method
The acronym stands for Rate, Errors, and Duration. These are request-scoped, not resource-scoped as the USE method is. Duration is explicitly taken to mean distributions, not averages.