A core principle of monitoring with Prometheus is that each binary should be liberally instrumented.

In a perfect world all libraries, client code, server code and business logic should come with Prometheus instrumentation. This isn't possible with everything (e.g. the Linux kernel), which is why we have exporters too.

In this course we will look at how to think about instrumentation, and how to implement it in practice.