This chapter covers
- What different signal types are
- When and how to use a certain signal type
- The costs and benefits of each signal type
- How to figure out what signals are relevant
- Determine signal baselines
In the context of observability, signals play a central role: this is the intel we’re basing our decisions on. On a high level we can differentiate between signals that are of numerical nature (for example the number of service invocations) and signals that carry textual payload that requires human interpretation (such as a log line).
As discussed in 1.1 the System under Observation (or system, for short), 1.1 for example, a Kubernetes application or a serverless app based on Lambda functions, emits signals from various sources. You as a human, or equally a piece of software, then uses these signals to understand the system and to make decisions to influence the system. There is a one-to-many relation between the system and sources. Your system typically involves compute, storage, and network and each of these represents a signal source. We will cover the sources in detail in 3.
In terms of signals (and sources) we can differentiate between two cases: