From 5700e4b16b2a4e5afc758ba77bea084f51cae3e8 Mon Sep 17 00:00:00 2001 From: TianlinZhao Date: Wed, 29 Jul 2020 16:21:04 -0400 Subject: [PATCH 1/4] tracer workaround --- api/include/opentelemetry/trace/span.h | 1 + 1 file changed, 1 insertion(+) diff --git a/api/include/opentelemetry/trace/span.h b/api/include/opentelemetry/trace/span.h index c33e61f4ba..ccd4d714ef 100644 --- a/api/include/opentelemetry/trace/span.h +++ b/api/include/opentelemetry/trace/span.h @@ -5,6 +5,7 @@ #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/core/timestamp.h" #include "opentelemetry/nostd/span.h" +#include "opentelemetry/trace/span_context.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/trace/canonical_code.h" #include "opentelemetry/trace/key_value_iterable_view.h" From df52301a36c54d8a40dede0123b2cc4e5ac040e1 Mon Sep 17 00:00:00 2001 From: TianlinZhao Date: Wed, 29 Jul 2020 19:43:38 -0400 Subject: [PATCH 2/4] tracer workaround --- api/include/opentelemetry/trace/default_span.h | 3 ++- api/include/opentelemetry/trace/span.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/api/include/opentelemetry/trace/default_span.h b/api/include/opentelemetry/trace/default_span.h index f0c574243f..251c094bee 100644 --- a/api/include/opentelemetry/trace/default_span.h +++ b/api/include/opentelemetry/trace/default_span.h @@ -67,7 +67,8 @@ class DefaultSpan: public Span { DefaultSpan(DefaultSpan&& spn) : span_context_(spn.GetContext()) {} DefaultSpan(const DefaultSpan& spn) : span_context_(spn.GetContext()) {} - trace::Tracer &tracer() noexcept { + trace::Tracer &tracer() const noexcept { + trace::Tracer trace = trace::Tracer(); return tracer_; // Invalid tracer } diff --git a/api/include/opentelemetry/trace/span.h b/api/include/opentelemetry/trace/span.h index ccd4d714ef..3a37e97ca5 100644 --- a/api/include/opentelemetry/trace/span.h +++ b/api/include/opentelemetry/trace/span.h @@ -154,7 +154,7 @@ class Span // AddEvent). virtual bool IsRecording() const noexcept = 0; - virtual trace::Tracer &tracer() noexcept = 0; + virtual trace::Tracer &tracer() const noexcept = 0; }; } // namespace trace OPENTELEMETRY_END_NAMESPACE From c0c33dd10e46fc8b092b5428e737862f4d69f68e Mon Sep 17 00:00:00 2001 From: TianlinZhao Date: Wed, 29 Jul 2020 19:45:02 -0400 Subject: [PATCH 3/4] tracer workaround --- api/include/opentelemetry/trace/default_span.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/include/opentelemetry/trace/default_span.h b/api/include/opentelemetry/trace/default_span.h index 251c094bee..6ca5ce7b5e 100644 --- a/api/include/opentelemetry/trace/default_span.h +++ b/api/include/opentelemetry/trace/default_span.h @@ -68,8 +68,8 @@ class DefaultSpan: public Span { DefaultSpan(const DefaultSpan& spn) : span_context_(spn.GetContext()) {} trace::Tracer &tracer() const noexcept { - trace::Tracer trace = trace::Tracer(); - return tracer_; // Invalid tracer + trace::Tracer tracer = trace::Tracer(); + return tracer; // Invalid tracer } // Creates an instance of this class with spancontext. From cd057c4adc92ee0afb6f7b2da3faf1742321b3c6 Mon Sep 17 00:00:00 2001 From: TianlinZhao Date: Wed, 29 Jul 2020 19:45:46 -0400 Subject: [PATCH 4/4] tracer workaround --- api/include/opentelemetry/trace/default_span.h | 1 + 1 file changed, 1 insertion(+) diff --git a/api/include/opentelemetry/trace/default_span.h b/api/include/opentelemetry/trace/default_span.h index 6ca5ce7b5e..14858f7c63 100644 --- a/api/include/opentelemetry/trace/default_span.h +++ b/api/include/opentelemetry/trace/default_span.h @@ -67,6 +67,7 @@ class DefaultSpan: public Span { DefaultSpan(DefaultSpan&& spn) : span_context_(spn.GetContext()) {} DefaultSpan(const DefaultSpan& spn) : span_context_(spn.GetContext()) {} + // This is an invalid implementation trace::Tracer &tracer() const noexcept { trace::Tracer tracer = trace::Tracer(); return tracer; // Invalid tracer