<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] > [官網](https://opentracing.io/guides/golang/quick-start/) > [github 的教程](https://github.com/yurishkuro/opentracing-tutorial/tree/master/go) ## 概述 為了解決不同的分布式追蹤系統 API 不兼容的問題,誕生了[OpenTracing](https://link.zhihu.com/?target=http%3A//opentracing.io/)規范。 OpenTracing 是一個輕量級的標準化層,它位于**應用程序/類庫**和**追蹤或日志分析程序**之間。 ### OpenTracing 支持的項目 Zipkin ,jaeger 等 ### OpenTracing 支持的語言 [Go](https://github.com/opentracing/opentracing-go),[JavaScript](https://github.com/opentracing/opentracing-javascript),[Java](https://github.com/opentracing/opentracing-java),[Python](https://github.com/opentracing/opentracing-python),[Ruby](https://github.com/opentracing/opentracing-ruby),[PHP](https://github.com/opentracing/opentracing-php),[Objective-C](https://github.com/opentracing/opentracing-objc),[C++](https://github.com/opentracing/opentracing-cpp),[C#](https://github.com/opentracing/opentracing-csharp) ### OpenTracing 的優勢 OpenTracing 已進入 CNCF,正在為全球的分布式追蹤,提供統一的概念和數據標準。 OpenTracing 通過提供平臺無關、廠商無關的 API,使得開發人員能夠方便的添加(或更換)追蹤系統的實現。 ### OpenTracing 數據模型 OpenTracing 中的 Trace(調用鏈)通過歸屬于此調用鏈的 Span 來隱性的定義。 特別說明,一條 Trace(調用鏈)可以被認為是一個由多個 Span 組成的有向無環圖 ## 協議說明 ### Span 狀態 #### Span Tag 一組鍵值對構成的Span標簽集合。鍵值對中,鍵必須為string,值可以是字符串,布爾,或者數字類型 一般用于對tag 進行過濾,在jager 中可按如下過濾, 多個由 空格隔開 `internal.span.format=proto span.kind=server` #### Span Log 一組span的日志集合。 每次log操作包含一個鍵值對,以及生成一個時間戳。 鍵值對中,鍵必須為string,值可以是任意類型。 #### SpanContext 任何一個OpenTracing的實現,都需要將當前調用鏈的狀態(例如:trace和span的id),依賴一個獨特的Span去跨進程邊界傳輸 Baggage Items,Trace的隨行數據,是一個鍵值對集合,它存在于trace中,也需要跨進程邊界傳輸 #### Span間關系 `ChildOf`(父子) 和`FollowsFrom`(跟隨) #### ChildOf 一個RPC調用的服務端的span,和RPC服務客戶端的span構成ChildOf關系 一個sql insert操作的span,和ORM的save方法的span構成ChildOf關系 很多span可以并行工作(或者分布式工作)都可能是一個父級的span的子項,他會合并所有子span的執行結果,并在指定期限內返回 #### FollowsFrom 一些父級節點不以任何方式依賴他們子節點的執行結果,這種情況下,我們說這些子span和父span之間是"FollowsFrom"的因果關系
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看