当使用阿里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 来进行替换