Add exception count trace for Sentinel annotation aspectj support

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
This commit is contained in:
Eric Zhao 2018-11-02 19:22:00 +08:00
parent 8f85dc5643
commit 61a75af379
2 changed files with 7 additions and 1 deletions

View File

@ -20,6 +20,7 @@ import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.alibaba.csp.sentinel.slots.block.degrade.DegradeException;
import com.alibaba.csp.sentinel.util.MethodUtil;
import com.alibaba.csp.sentinel.util.StringUtil;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
@ -47,7 +48,8 @@ public abstract class AbstractSentinelAspectSupport {
protected Object handleBlockException(ProceedingJoinPoint pjp, SentinelResource annotation, BlockException ex)
throws Exception {
return handleBlockException(pjp, annotation.fallback(), annotation.blockHandler(), annotation.blockHandlerClass(), ex);
return handleBlockException(pjp, annotation.fallback(), annotation.blockHandler(),
annotation.blockHandlerClass(), ex);
}
protected Object handleBlockException(ProceedingJoinPoint pjp, String fallback, String blockHandler,

View File

@ -18,6 +18,7 @@ package com.alibaba.csp.sentinel.annotation.aspectj;
import com.alibaba.csp.sentinel.Entry;
import com.alibaba.csp.sentinel.EntryType;
import com.alibaba.csp.sentinel.SphU;
import com.alibaba.csp.sentinel.Tracer;
import com.alibaba.csp.sentinel.annotation.SentinelResource;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import org.aspectj.lang.ProceedingJoinPoint;
@ -57,6 +58,9 @@ public class SentinelResourceAspect extends AbstractSentinelAspectSupport {
return result;
} catch (BlockException ex) {
return handleBlockException(pjp, annotation, ex);
} catch (Throwable ex) {
Tracer.trace(ex);
throw ex;
} finally {
if (entry != null) {
entry.exit();