Chapter 6. Efficiency Observability

In “Efficiency-Aware Development Flow”, you learned to follow the TFBO (test, fix, benchmark, and optimize) flow to validate and achieve the required efficiency results with the least effort. Around the elements of the efficiency phase, observability takes one of the key roles, especially in Chapters 7 and 9. We focus on that phase in Figure 6-1.

efgo 0601
Figure 6-1. An excerpt from Figure 3-5 focusing on the part that requires good observability

In this chapter, I will explain the required observability and monitoring tools for this part of the flow. First, we will learn what observability is and what problems it solves. Then, we will discuss different observability signals, typically divided into logs, tracing, metrics, and, recently, profiles. Next, we will explain the first three signals in “Example: Instrumenting for Latency”, which takes latency as an example of the efficiency information we might want to measure (profiling is explained in Chapter 9). Last but not least, we will go through the specific semantics and sources of metrics related to our program efficiency in “Efficiency Metrics Semantics”.

You Can’t Improve What You Don’t Measure!

This quote, often attributed to Peter Drucker, is a key to improving anything: business revenues, car efficiency, family budget, body fat, or even happiness.

Especially when it comes to invisible waste that ...

Get Efficient Go now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.