@@ -23,9 +23,7 @@ namespace jaegertracing {
23
23
void Span::SetBaggageItem (opentracing::string_view restrictedKey,
24
24
opentracing::string_view value) noexcept
25
25
{
26
- std::lock_guard<std::mutex> lock (_mutex);
27
- std::shared_ptr<const Tracer> tracer (_tracer.lock ());
28
- const auto & baggageSetter = tracer->baggageSetter ();
26
+ const auto & baggageSetter = _tracer.baggageSetter ();
29
27
auto baggage = _context.baggage ();
30
28
baggageSetter.setBaggage (*this ,
31
29
baggage,
@@ -41,41 +39,25 @@ void Span::SetBaggageItem(opentracing::string_view restrictedKey,
41
39
void Span::FinishWithOptions (
42
40
const opentracing::FinishSpanOptions& finishSpanOptions) noexcept
43
41
{
44
- std::shared_ptr<const Tracer> tracer;
45
42
{
46
43
std::lock_guard<std::mutex> lock (_mutex);
47
44
if (_context.isSampled ()) {
48
45
_duration = finishSpanOptions.finish_steady_timestamp - _startTime;
49
46
}
50
- tracer = _tracer.lock ();
51
47
}
52
48
53
49
// Call `reportSpan` even for non-sampled traces.
54
- if (tracer) {
55
- tracer->reportSpan (*this );
56
- }
50
+ _tracer.reportSpan (*this );
57
51
}
58
52
59
53
const opentracing::Tracer& Span::tracer () const noexcept
60
54
{
61
- std::lock_guard<std::mutex> lock (_mutex);
62
- std::shared_ptr<const opentracing::Tracer> tracer (_tracer.lock ());
63
- if (tracer) {
64
- return *tracer;
65
- }
66
- tracer = opentracing::Tracer::Global ();
67
- assert (tracer);
68
- return *tracer;
55
+ return _tracer;
69
56
}
70
57
71
58
std::string Span::serviceName () const noexcept
72
59
{
73
- std::lock_guard<std::mutex> lock (_mutex);
74
- std::shared_ptr<const Tracer> tracer (_tracer.lock ());
75
- if (!tracer) {
76
- return std::string ();
77
- }
78
- return tracer->serviceName ();
60
+ return _tracer.serviceName ();
79
61
}
80
62
81
63
} // namespace jaegertracing
0 commit comments