andrewhowdencom / courses.pito

Examples & assignments for the course "Practical introduction to Observability".
GNU Affero General Public License v3.0
6 stars 4 forks source link

[Lecture] The Problem #36

Closed andrewhowdencom closed 9 months ago

andrewhowdencom commented 9 months ago

Learning Goal

At the end of this lecture, Learners should understand that metrics make the tradeoff to compress quite a lot of potential data into a numeric representation, on which we can do some simple math. This means that we can capture things that happen with much higher frequency or are more expensive, at the cost of some data. Things like:

  1. Events that are too frequent to be counted & queried back with other measures (e.g. logs, traces) a. HTTP Requests b. CPU instructions c. Network packets d. Latency distributions
  2. Properties that sit within a bounded range (e.g. "CPU", "Memory") a. CPU time / "% usage" b. Memory c. Disk space
  3. Properties where it is helpful to understand the behaviour over time (e.g. CPU, Memory) a. CPU
  4. Properties where it is helpful to correlate the behaviour of different parts of the system quickly or to break down the system into components.

Notably, it is difficult to go from a metric (in isolation) to a broader context, such as a distributed trace. Normally, we go the other way — from tracing to USE to deep metrics.