diff --git a/api/include/opentelemetry/trace/context.h b/api/include/opentelemetry/trace/context.h index cd8395d768..81f887479c 100644 --- a/api/include/opentelemetry/trace/context.h +++ b/api/include/opentelemetry/trace/context.h @@ -20,7 +20,10 @@ inline nostd::shared_ptr GetSpan(const context::Context &context) noexcept { return nostd::get>(span); } - return nostd::shared_ptr(new DefaultSpan(SpanContext::GetInvalid())); + + static thread_local nostd::shared_ptr invalid_span = + nostd::shared_ptr(new DefaultSpan(SpanContext::GetInvalid())); + return invalid_span; } inline bool IsRootSpan(const context::Context &context) noexcept