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 ...

另請參閱