Processing a pipeline with the OpenTelemetry Collector
As we’ve seen before, the OpenTelemetry Collector is another component that’s capable of controlling, enriching, filtering, converting, routing, aggregating, sampling, and processing telemetry in any other possible way. Figure 5.4 shows the main Collector components:
Figure 5.4 – OpenTelemetry Collector pipeline
Receivers get telemetry from different sources, and processors massage data and pass it over to exporters.
Since the collector is a separate process, potentially running on a different machine, it does not have a dynamic context, such as a specific HTTP request header, which you might want to stamp on spans. Such context can only be added inside your application.
But the collector could have more context about the environment the application runs in – for example, it can enrich telemetry with Kubernetes or cloud provider context. It can also receive telemetry...