Getting more with less
Since we usually need to collect multiple signals about the same component, we need to be able to tune them individually, depending on our needs.
The key is to reduce the volume of expensive, but not essential, data, potentially replacing it with cheaper options while keeping the system observable. We saw how we can do this by combining hot and cold storage or changing the retention period in Chapter 8, Writing Structured and Correlated Logs. Here, let’s focus on the collection side.
While observability vendors have different pricing models, it’s common for them to bill for traces, logs, and events depending on the volume, and for metrics depending on the number of time series. Queries (or API calls) can also be charged for and may have concurrency limits.
Of course, we can always add or remove instrumentations or stop writing logs and events, but there are a few more factors affecting how much telemetry is collected:
- We can control...