Opentracing

官方網站https://opentracing.io/javascript

image.png

VendorneutralAPlsandjava

NSHartJocoErocallypython

sdockaTundp69316831/ucpp16686mysql

instrumentationfordistributedtracinggit

SERROrTDOCKERJP-DCKEMChIeDS(Dckemchrectve)github

SDSGOPATHVSREsql

MCrotasmelesoiccnlatnodCpnTecngeaampledocker

Librariesavailablein9lanquaoes數據庫

GgJavascript,JavayhyHjiexpress

SOpnhllp/SDOCKERJP16686/

Thelatestfromourblog:

#ResdthesoLrce

gpenTracingonKubernetesgetyertracingforfree

官方Github:https://github.com/opentracing

image.png

OpenTracingAPL

Consilstentexpressivei

QEarthRhttp://opentracing-io/

ORepositories24

People12

向Packages

四Projects

Pinnedrepositories

opentracing-java

opentracing-go

specification

OpenTracingAPIforGO

OpenTracingAPIforJava

Aplacetodocument(anddiscuss)the

269

¥121

2.3k

1.3k

793

gopentracing-python

contrib

Oopentracing-javascript

OpenTracingAPIforJayascript(bothNodeand

OpentracingAPltorPython

Aplace(orreally,apointer)forcommunity

browsor)

ypeScript832179

ython594Y8

412

Opentracing是分佈式鏈路追蹤的一種規範標準,是CNCF(雲原生計算基金會)下的項目之一。和通常的規範標準不一樣,Opentracing不是傳輸協議,消息格式層面上的規範標準,而是一種語言層面上的API標準。以Go語言爲例,只要某鏈路追蹤系統實現了Opentracing規定的接口(interface),符合Opentracing定義的表現行爲,那麼就能夠說該應用符合Opentracing標準。開發者只需修改少許的配置代碼,就能夠在符合Opentracing標準的鏈路追蹤系統之間自由切換。

Span

「span」是分佈式追蹤系統的主要組成部分,表示一個工做單元。

分佈式系統的每一個組件都提供一個span——一個指定名稱、必定時間範圍的操做,以此表示工做流中一部分。

span能夠(一般是這樣)包含對其餘span的「引用」,這容許將多個span組裝成一個完整的追蹤—當請求在分佈式系統中移動時,對其生命週期進行可視化處理。

根據OpenTracing規範,每一個span封裝瞭如下狀態:

一個操做名稱

開始時間戳和結束時間戳

一組鍵值形式標記(Tags)

一組鍵值形式日誌(Logs)

SpanContext


Tags

標記是span中用戶自定義的鍵值,以便查詢、篩選和理解追蹤數據。

Span標記應該應用於整個Span。在semantic_conventions.md上列出了常見場景的常規span標記。示例包括標記鍵,如用於標識數據庫主機的db.instance、用於表示http響應代碼的http.status_code,或者若是由Span表示的操做失敗,則能夠將錯誤設置爲True。


Logs

日誌是用於獲取特定範圍的日誌信息以及應用程序自己的其餘調試或信息輸出的鍵-值對。日誌對於記錄span內的特定時刻或事件可能頗有用(與應用於整個span的標記不一樣)。

SpanContext

SpanContext跨進程/服務傳遞數據,主要由兩部分組成:

•一個依賴於實現的狀態,用於引用跟蹤中的不一樣跨度,例如spanID和traceID

• Baggage 跨進程/服務邊界的鍵值對。在整個跟蹤過程當中提供的一些可訪問的數據可能會頗有用。

Example Span


Hello World

經過docker啓動追蹤服務的jaeger的all-in-one




image.png

LookupbyTraceID...

JaegerUI

Search

Compare

Dependencies

JSONFILe

Search

Service(3

hello-world

Operation(2)

Tags

O

http.status.code-200error-true

Lookback

LastHour

MinDuration

e.g.1.2s,100ms,500us

MaxDuration

e.g.1.2s,100ms,500us

LimitResults

20

FindTraces

image.png

uoieing

Time

06:13-20.0m

08:00:00am

09:46:40am

1Trace

Sort:

MostRecent

DeepDependencyGraph

Comparetracesbyselectingresultitems

hello-world:hello

0.07ms

0055897

hello-world(2)

2Spans

Today|4:36:43pm


image.png

TeRESIArMarch220201635:43.876

Sorvice&Operation

0.08T5

0.04m5

hello

Seniceehelorwortd

prcaoSAmpLor.poromtrueoamptor.typocoro1

Sp3n12:0035897201662220

world

StEantTua:0.02mS

參考

https://opentracing.io/docs/


本文同步分享在 博客「羊羽」(other)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索