W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
跨度上下文是必須跨進程邊界傳播到任何子項spans的狀態(tài)。Span上下文的一部分是行李。跟蹤和跨度ID是跨度上下文的必需部分。行李是可選部件。
行李是存儲在span上下文中的一組key:value對。行李與蹤跡一起旅行,并附著在每個跨度上。Spring Cloud Sleuth理解,如果HTTP標頭以baggage-
為前綴,則標頭與行李有關,對于消息傳遞,標頭以baggage_
開頭。
當前對行李物品的數(shù)量或大小沒有限制。但是,請記住,太多會降低系統(tǒng)吞吐量或增加RPC延遲。在極端情況下,由于超出傳輸級消息或標頭容量,過多的行李可能會使應用程序崩潰。
以下示例顯示跨度設置行李:
Span initialSpan = this.tracer.nextSpan().name("span").start(); ExtraFieldPropagation.set(initialSpan.context(), "foo", "bar"); ExtraFieldPropagation.set(initialSpan.context(), "UPPER_CASE", "someValue");
行李隨身攜帶(每個孩子跨度都包含其父母的行李)。Zipkin不了解行李并且不接收該信息。
從Sleuth 2.0.0開始,您必須在項目配置中顯式傳遞行李密鑰名稱。在此處閱讀有關該設置的更多信息
標簽被附加到特定范圍。換句話說,它們僅針對該特定跨度顯示。但是,您可以按標簽搜索以找到軌跡,前提是存在一個具有所搜索標簽值的跨度。
如果您希望能夠基于行李查找跨度,則應在根跨度中添加相應的條目作為標簽。
范圍必須在范圍內。
以下清單顯示了使用行李的集成測試:
設置。
spring.sleuth: baggage-keys: - baz - bizarrecase propagation-keys: - foo - upper_case
編碼。
initialSpan.tag("foo", ExtraFieldPropagation.get(initialSpan.context(), "foo")); initialSpan.tag("UPPER_CASE", ExtraFieldPropagation.get(initialSpan.context(), "UPPER_CASE"));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: