W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
如果它們遵循通用模式,則還可以在字段前面加上前綴。以下示例顯示了如何按原樣傳播x-vcap-request-id
字段,但如何分別以x-baggage-country-code
和x-baggage-user-id
的形式發(fā)送country-code
和user-id
字段:
Tracing.newBuilder().propagationFactory( ExtraFieldPropagation.newFactoryBuilder(B3Propagation.FACTORY) .addField("x-vcap-request-id") .addPrefixedFields("x-baggage-", Arrays.asList("country-code", "user-id")) .build() );
以后,您可以調(diào)用以下代碼來影響當(dāng)前跟蹤上下文的國家/地區(qū)代碼:
ExtraFieldPropagation.set("x-country-code", "FO"); String countryCode = ExtraFieldPropagation.get("x-country-code");
或者,如果您有對跟蹤上下文的引用,則可以顯式使用它,如以下示例所示:
ExtraFieldPropagation.set(span.context(), "x-country-code", "FO"); String countryCode = ExtraFieldPropagation.get(span.context(), "x-country-code");
與以前版本的Sleuth的不同之處在于,使用Brave,您必須傳遞行李鑰匙列表。有兩個(gè)屬性可以實(shí)現(xiàn)此目的。使用spring.sleuth.baggage-keys
,您可以為HTTP呼叫設(shè)置前綴為baggage-
的密鑰,而為消息傳遞則設(shè)置前綴baggage_
的密鑰。您還可以使用spring.sleuth.propagation-keys
屬性來傳遞已列入白名單且沒有任何前綴的前綴鍵列表。注意,標(biāo)題鍵前面沒有x-
。
為了自動(dòng)將行李值設(shè)置為Slf4j的MDC,您必須使用白名單中的行李和傳播鍵列表來設(shè)置spring.sleuth.log.slf4j.whitelisted-mdc-keys
屬性。例如,spring.sleuth.log.slf4j.whitelisted-mdc-keys=foo
會將foo
行李的價(jià)值設(shè)置為MDC。
請記住,將條目添加到MDC可能會大大降低應(yīng)用程序的性能!
如果要將行李條目添加為標(biāo)簽,以使可以通過行李條目搜索spans,則可以將白名單中的行李鑰匙列表設(shè)置為spring.sleuth.propagation.tag.whitelisted-keys
。要禁用此功能,您必須傳遞spring.sleuth.propagation.tag.enabled=false
屬性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: