Skip to content
This repository was archived by the owner on Aug 30, 2022. It is now read-only.

Commit a02cdab

Browse files
author
Isaac Hier
committed
Add Finish to Span destructor
Signed-off-by: Isaac Hier <ihier@uber.com>
1 parent 05d7da7 commit a02cdab

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

src/jaegertracing/Span.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ void Span::FinishWithOptions(
4343
std::shared_ptr<const Tracer> tracer;
4444
{
4545
std::lock_guard<std::mutex> lock(_mutex);
46+
if (isFinished()) {
47+
// Already finished, so return immediately.
48+
return;
49+
}
4650
_duration = finishSpanOptions.finish_steady_timestamp - _startTime;
4751
tracer = _tracer;
4852
}

src/jaegertracing/Span.h

+2
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ class Span : public opentracing::Span {
7676
return *this;
7777
}
7878

79+
~Span() { Finish(); }
80+
7981
void swap(Span& span)
8082
{
8183
using std::swap;

src/jaegertracing/TracerTest.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ TEST(Tracer, testTracer)
7878
const SpanContext debugCtx(TraceID(),
7979
0,
8080
0,
81+
static_cast<unsigned char>(
82+
SpanContext::Flag::kSampled) |
8183
static_cast<unsigned char>(
8284
SpanContext::Flag::kDebug),
8385
SpanContext::StrMap({
@@ -122,6 +124,8 @@ TEST(Tracer, testTracer)
122124
tracer->StartSpanWithOptions(
123125
"test-span-with-debug-parent", options).release()));
124126

127+
span.reset();
128+
125129
opentracing::Tracer::InitGlobal(opentracing::MakeNoopTracer());
126130
}
127131

0 commit comments

Comments
 (0)