當使用阿裡sentinel annotation模式取代hystrix 進行熔斷處理的時候,所有服務調用的span 記錄沒有問題,出現feign 相關異常會記錄一個單獨的span。
但如要展現fallback為一個單獨span,可以考慮以下幾種模式:
- 在處理fall的函數裡面增加span,如在defaultFallback進行如下處理
public String defaultFallback() {
System.out.println("Go to default fallback");
Span currentspan = tracer.currentSpan();
Span span = tracer.nextSpan();
currentspan.finish();
span.tag("defaultFallback", "defaultFallback");
span.finish();
return "default_fallback";
}
- 修改sentinel的SentinelResourceAspect,Sentinel Annotation AspectJ 項目下隻有4個檔案,修改不難
- 修改Sentinel Annotation AspectJ可以結合maven exclusion 來進行替換