diff --git a/api/include/opentelemetry/trace/span.h b/api/include/opentelemetry/trace/span.h index 700e3de1c6..571a7aa2b8 100644 --- a/api/include/opentelemetry/trace/span.h +++ b/api/include/opentelemetry/trace/span.h @@ -158,6 +158,7 @@ class Span virtual void End(const EndSpanOptions &options = {}) noexcept = 0; virtual trace::SpanContext GetContext() const noexcept = 0; + // Returns true if this Span is recording tracing events (e.g. SetAttribute, // AddEvent). virtual bool IsRecording() const noexcept = 0; diff --git a/api/include/opentelemetry/trace/span_context.h b/api/include/opentelemetry/trace/span_context.h index 200bd1522d..7e618c94c7 100644 --- a/api/include/opentelemetry/trace/span_context.h +++ b/api/include/opentelemetry/trace/span_context.h @@ -34,6 +34,7 @@ class SpanContext final SpanContext(bool sampled_flag, bool has_remote_parent) noexcept : trace_flags_(trace::TraceFlags((uint8_t)sampled_flag)), remote_parent_(has_remote_parent){}; + SpanContext(TraceId trace_id, SpanId span_id, TraceFlags trace_flags, @@ -44,9 +45,11 @@ class SpanContext final trace_flags_ = trace_flags; remote_parent_ = has_remote_parent; } + SpanContext(SpanContext &&ctx) : trace_id_(ctx.trace_id()), span_id_(ctx.span_id()), trace_flags_(ctx.trace_flags()) {} + SpanContext(const SpanContext &ctx) : trace_id_(ctx.trace_id()), span_id_(ctx.span_id()), trace_flags_(ctx.trace_flags()) {} @@ -58,6 +61,7 @@ class SpanContext final trace_flags_ = ctx.trace_flags_; return *this; }; + SpanContext &operator=(SpanContext &&ctx) { trace_id_ = ctx.trace_id_; @@ -73,7 +77,9 @@ class SpanContext final } const TraceId &trace_id() const noexcept { return trace_id_; } + const SpanId &span_id() const noexcept { return span_id_; } + const TraceFlags &trace_flags() const noexcept { return trace_flags_; } bool IsValid() const noexcept { return trace_id_.IsValid() && span_id_.IsValid(); } diff --git a/api/test/trace/BUILD b/api/test/trace/BUILD index 49871a1d23..df929d07f5 100644 --- a/api/test/trace/BUILD +++ b/api/test/trace/BUILD @@ -3,7 +3,7 @@ load("//bazel:otel_cc_benchmark.bzl", "otel_cc_benchmark") cc_test( name = "default_span_test", srcs = [ - "defaultspan_test.cc", + "default_span_test.cc", ], deps = [ "//api", diff --git a/api/test/trace/defaultspan_test.cc b/api/test/trace/default_span_test.cc similarity index 100% rename from api/test/trace/defaultspan_test.cc rename to api/test/trace/default_span_test.cc