Instrumenting Brownfield Applications
When building brand-new services and systems, it’s easy to achieve a basic level of observability with distributed traces, metrics, and logs using OpenTelemetry instrumentation libraries.
However, we don’t usually create applications from scratch – instead, we evolve existing systems that include services in different stages of their life, varying from experimental to legacy ones that are too risky to change.
Such systems normally have some monitoring solutions in place, with custom correlation formats, telemetry schemas, logs and metrics management systems, dashboards, alerts, as well as documentation and processes around these tools.
In this chapter, we’ll explore instrumentation options for such heterogeneous systems, which are frequently referred to as brownfield. First, we’ll discuss instrumentation options for legacy parts of the system and then look deeper into context propagation and interoperating...