Python OpenTracing
OpenTracing 提供 "Vendor-neutral APIs and instrumentation for distributed tracing"。 如果您不熟悉 OpenTracing,請參閱 OpenTracing 入口網站 ,以取得詳細資料。
利用 OpenTracing API 或想要新增支援的現有應用程式可以輕鬆地與此 Python 套件整合。
此 Python 套件支援 OpenTracing。 使用此套件時, OpenTracing 追蹤器 (opentracing.tracer) 會自動設為 InstanaTracer。
為了在使用 OpenTracing時取得最佳結果,也請記下我們在此 OpenTracing 頁面中概述的最佳作法。
範例
import opentracing
with opentracing.tracer.start_active_span('asteroid 💫') as pscope:
pscope.span.set_tag(ext.COMPONENT, "Python simple example app")
pscope.span.set_tag(ext.SPAN_KIND, ext.SPAN_KIND_RPC_SERVER)
pscope.span.set_tag(ext.PEER_HOSTNAME, "localhost")
pscope.span.set_tag(ext.HTTP_URL, "/python/simple/one")
pscope.span.set_tag(ext.HTTP_METHOD, "GET")
pscope.span.set_tag(ext.HTTP_STATUS_CODE, 200)
pscope.span.log_kv({"foo": "bar"})
# ... work ...
with opentracing.tracer.start_active_span('spacedust 🌚', child_of=pscope.span) as cscope:
cscope.span.set_tag(ext.SPAN_KIND, ext.SPAN_KIND_RPC_CLIENT)
cscope.span.set_tag(ext.PEER_HOSTNAME, "localhost")
cscope.span.set_tag(ext.HTTP_URL, "/python/simple/two")
cscope.span.set_tag(ext.HTTP_METHOD, "POST")
cscope.span.set_tag(ext.HTTP_STATUS_CODE, 204)
cscope.span.set_baggage_item("someBaggage", "someValue")
# ... work ...