To minimize telemetry processing overhead in the hosting application, let OpenTelemetry sidecar to handle telemetry data processing as much as possible is a very attractive solution, for example, to gather span metrics (statistics), and to extract other summary information from spans per trace (request), etc.
To enable that, SDK needs the capability to export all spans to agent regardless of their sampled flag and carries the sampled flag with the sampling decision made by SDK sample. By doing these, Agent has the opportunity to see all the span data and to decide whether to persist the spans in storage based on the carried in sampled flag at the end.
To minimize telemetry processing overhead in the hosting application, let OpenTelemetry sidecar to handle telemetry data processing as much as possible is a very attractive solution, for example, to gather span metrics (statistics), and to extract other summary information from spans per trace (request), etc.
To enable that, SDK needs the capability to export all spans to agent regardless of their sampled flag and carries the sampled flag with the sampling decision made by SDK sample. By doing these, Agent has the opportunity to see all the span data and to decide whether to persist the spans in storage based on the carried in sampled flag at the end.
See related Spec issue filed: https://github.com/open-telemetry/opentelemetry-specification/issues/2986