Enhance exception tracing in Sentinel Dubbo Adapter
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
diff --git a/pom.xml b/pom.xml
index e34e9f0..9ed1a2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,10 +31,8 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
- <version>1.2.47</version>
+ <version>1.2.49</version>
<scope>test</scope>
</dependency>
</dependencies>
-
-
</project>
\ No newline at end of file
diff --git a/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboConsumerFilter.java b/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboConsumerFilter.java
index 4df20d4..85b268d 100755
--- a/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboConsumerFilter.java
+++ b/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboConsumerFilter.java
@@ -57,7 +57,13 @@
ContextUtil.enter(resourceName);
interfaceEntry = SphU.entry(invoker.getInterface().getName(), EntryType.OUT);
methodEntry = SphU.entry(resourceName, EntryType.OUT);
- return invoker.invoke(invocation);
+
+ Result result = invoker.invoke(invocation);
+ if (result.hasException()) {
+ // Record common exception.
+ Tracer.trace(result.getException());
+ }
+ return result;
} catch (BlockException e) {
return DubboFallbackRegistry.getConsumerFallback().handle(invoker, invocation, e);
} catch (RpcException e) {
diff --git a/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboProviderFilter.java b/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboProviderFilter.java
index 0eacab2..c82afb8 100755
--- a/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboProviderFilter.java
+++ b/src/main/java/com/alibaba/csp/sentinel/adapter/dubbo/SentinelDubboProviderFilter.java
@@ -63,7 +63,11 @@
interfaceEntry = SphU.entry(interfaceName, EntryType.IN);
methodEntry = SphU.entry(resourceName, EntryType.IN, 1, invocation.getArguments());
- return invoker.invoke(invocation);
+ Result result = invoker.invoke(invocation);
+ if (result.hasException()) {
+ Tracer.trace(result.getException());
+ }
+ return result;
} catch (BlockException e) {
return DubboFallbackRegistry.getProviderFallback().handle(invoker, invocation, e);
} catch (RpcException e) {