我具有以下功能:
def trace(request):
caller_name = sys._getframe(1).f_code
span_name = caller_name.co_filename+"/"+caller_name.co_name+":"+str(caller_name.co_firstlineno)
if hasattr(request, 'span') and request.span:
tracer_context = request.span
span = tracer.start_span(name=span_name, child_of=tracer_context, service="pso")
else:
span = tracer.start_span(name=span_name, child_of=None, service="pso")
request.span = span
return request
我按如下方式使用它:
def my_func(request):
request = trace(request)
curr_span = request.span
// some logic
curr_span.finish()
print(curr_span.pprint())
在日志中,我看到跨度如下:
2019-08-19 12:44:55+0000 [-] name my_func:66
2019-08-19 12:44:55+0000 [-] id 13718618561359452918
2019-08-19 12:44:55+0000 [-] trace_id 390415684220986929
2019-08-19 12:44:55+0000 [-] parent_id 1137199070532920484
2019-08-19 12:44:55+0000 [-] service my_service
2019-08-19 12:44:55+0000 [-] resource my_func:66
2019-08-19 12:44:55+0000 [-] type None
2019-08-19 12:44:55+0000 [-] start 1566218695.56
2019-08-19 12:44:55+0000 [-] end 1566218695.56
2019-08-19 12:44:55+0000 [-] duration 0.000800s
2019-08-19 12:44:55+0000 [-] error 0
2019-08-19 12:44:55+0000 [-] tags
2019-08-19 12:44:55+0000 [-] env:my-env
Agent工作正常,但在datadog服务器上我看不到跟踪。怎么了?