diff --git a/changelogs/current.yaml b/changelogs/current.yaml index 4ae0bc88ca9a..bb31a9025762 100644 --- a/changelogs/current.yaml +++ b/changelogs/current.yaml @@ -189,6 +189,9 @@ bug_fixes: change: | Set token cookies in response regardless of :ref:`forward_bearer_token ` config option. +- area: tracing + change: | + Fixed a bug where the OpenTelemetry tracer exports the OTLP request even when no spans are present. removed_config_or_runtime: # *Normally occurs at the end of the* :ref:`deprecation period ` diff --git a/source/extensions/tracers/opentelemetry/tracer.cc b/source/extensions/tracers/opentelemetry/tracer.cc index 5c755bf873f9..1bfb366ae634 100644 --- a/source/extensions/tracers/opentelemetry/tracer.cc +++ b/source/extensions/tracers/opentelemetry/tracer.cc @@ -163,6 +163,10 @@ void Tracer::enableTimer() { } void Tracer::flushSpans() { + if (span_buffer_.empty()) { + return; + } + ExportTraceServiceRequest request; // A request consists of ResourceSpans. ::opentelemetry::proto::trace::v1::ResourceSpans* resource_span = request.add_resource_spans();