MCPcopy Create free account
hub / github.com/apache/brpc / CreateServerSpan

Method CreateServerSpan

src/brpc/span.cpp:292–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

290}
291
292std::shared_ptr<Span> Span::CreateServerSpan(
293 const std::string& full_method_name,
294 uint64_t trace_id, uint64_t span_id, uint64_t parent_span_id,
295 int64_t base_real_us) {
296 Span* span_raw = butil::get_object<Span>(Forbidden());
297 if (__builtin_expect(span_raw == NULL, 0)) {
298 return nullptr;
299 }
300 std::shared_ptr<Span> span(span_raw, SpanDeleter());
301 span->_trace_id = (trace_id ? trace_id : GenerateTraceId());
302 span->_span_id = (span_id ? span_id : GenerateSpanId());
303 span->_parent_span_id = parent_span_id;
304 span->_log_id = 0;
305 span->_base_cid = INVALID_BTHREAD_ID;
306 span->_ending_cid = INVALID_BTHREAD_ID; // Server Span uses ending_cid
307 span->_type = SPAN_TYPE_SERVER;
308 span->_async = false;
309 span->_protocol = PROTOCOL_UNKNOWN;
310 span->_error_code = 0;
311 span->_request_size = 0;
312 span->_response_size = 0;
313 span->_base_real_us = base_real_us;
314 span->_received_real_us = 0;
315 span->_start_parse_real_us = 0;
316 span->_start_callback_real_us = 0;
317 span->_start_send_real_us = 0;
318 span->_sent_real_us = 0;
319 span->_full_method_name = (!full_method_name.empty() ?
320 full_method_name : unknown_span_name());
321 span->_info.clear();
322 return span;
323}
324
325std::shared_ptr<Span> Span::CreateServerSpan(
326 uint64_t trace_id, uint64_t span_id, uint64_t parent_span_id,

Callers

nothing calls this directly

Calls 6

SpanDeleterClass · 0.85
GenerateTraceIdFunction · 0.85
GenerateSpanIdFunction · 0.85
ForbiddenClass · 0.70
emptyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected