W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
編寫新工具時,將您創(chuàng)建的跨度作為當前跨度放置在示波器中很重要。這樣做不僅使用戶可以使用Tracer.currentSpan()
訪問它,而且還允許自定義文件(例如SLF4J MDC)查看當前的跟蹤ID。
Tracer.withSpanInScope(Span)
促進了這一點,并且通過使用try-with-resources慣用法最方便地使用。每當可能調(diào)用外部代碼(例如進行攔截器或其他操作)時,請將范圍放在范圍內(nèi),如以下示例所示:
@Autowired Tracer tracer; try (SpanInScope ws = tracer.withSpanInScope(span)) { return inboundRequest.invoke(); } finally { // note the scope is independent of the span span.finish(); }
在極端情況下,您可能需要臨時清除當前跨度(例如,啟動不應與當前請求關聯(lián)的任務)。為此,請將null傳遞給withSpanInScope
,如以下示例所示:
@Autowired Tracer tracer; try (SpanInScope cleared = tracer.withSpanInScope(null)) { startBackgroundThread(); }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: