2 Signal types

 

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 which signals are relevant
  • Determining 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 numerical in nature (e.g., the number of service invocations) and signals that carry textual payload that requires human interpretation (e.g., a log line).

As discussed in chapter 1, the system under observation, or just system (e.g., 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 use these signals to understand the system and make decisions to influence it. There is a one-to-many relation between the system and sources. Your system typically involves compute, storage, and network, each of these representing a signal source. We will cover the sources in detail in chapter 3.

In terms of signals (and sources), we can differentiate between two cases:

2.1 Reference example

2.2 Assessing instrumentation costs

2.3 Logs

2.3.1 Instrumentation

2.3.2 Telemetry

2.3.3 Costs and benefits

2.3.4 Observability with logs

2.4 Metrics

2.4.1 Instrumentation

2.4.2 Telemetry

2.4.3 Costs and benefits

2.4.4 Observability with metrics

2.5 Traces

2.5.1 Instrumentation