fix:熔断监控上报补充code

pull/924/head
chuntaojun 3 years ago
parent b2081651e9
commit ae7f186c92

@ -27,8 +27,12 @@ import com.tencent.polaris.api.rpc.ServiceCallResult;
import com.tencent.polaris.circuitbreak.client.exception.CallAbortedException; import com.tencent.polaris.circuitbreak.client.exception.CallAbortedException;
import com.tencent.polaris.discovery.client.api.DefaultConsumerAPI; import com.tencent.polaris.discovery.client.api.DefaultConsumerAPI;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.util.Objects;
/** /**
* PolarisCircuitBreakerUtils. * PolarisCircuitBreakerUtils.
* *
@ -36,6 +40,8 @@ import org.springframework.util.Assert;
*/ */
public final class PolarisCircuitBreakerUtils { public final class PolarisCircuitBreakerUtils {
private static final Logger LOG = LoggerFactory.getLogger(PolarisCircuitBreakerUtils.class);
private PolarisCircuitBreakerUtils() { private PolarisCircuitBreakerUtils() {
} }
@ -61,6 +67,7 @@ public final class PolarisCircuitBreakerUtils {
public static void reportStatus(ConsumerAPI consumerAPI, public static void reportStatus(ConsumerAPI consumerAPI,
PolarisCircuitBreakerConfigBuilder.PolarisCircuitBreakerConfiguration conf, CallAbortedException e) { PolarisCircuitBreakerConfigBuilder.PolarisCircuitBreakerConfiguration conf, CallAbortedException e) {
try {
ServiceCallResult result = new ServiceCallResult(); ServiceCallResult result = new ServiceCallResult();
result.setMethod(conf.getMethod()); result.setMethod(conf.getMethod());
result.setNamespace(conf.getNamespace()); result.setNamespace(conf.getNamespace());
@ -69,12 +76,19 @@ public final class PolarisCircuitBreakerUtils {
result.setRetStatus(RetStatus.RetReject); result.setRetStatus(RetStatus.RetReject);
result.setCallerService(new ServiceKey(conf.getSourceNamespace(), conf.getSourceService())); result.setCallerService(new ServiceKey(conf.getSourceNamespace(), conf.getSourceService()));
if (Objects.nonNull(e.getFallbackInfo())) {
result.setRetCode(e.getFallbackInfo().getCode());
}
String callerIp = ((DefaultConsumerAPI) consumerAPI).getSDKContext().getConfig().getGlobal().getAPI().getBindIP(); String callerIp = ((DefaultConsumerAPI) consumerAPI).getSDKContext().getConfig().getGlobal().getAPI().getBindIP();
if (StringUtils.isNotBlank(callerIp)) { if (StringUtils.isNotBlank(callerIp)) {
result.setCallerIp(callerIp); result.setCallerIp(callerIp);
} }
consumerAPI.updateServiceCallResult(result); consumerAPI.updateServiceCallResult(result);
} catch (Throwable ex) {
LOG.error("[CircuitBreaker]");
}
} }
} }

@ -5,7 +5,7 @@ spring:
name: polaris-circuitbreaker-callee-service name: polaris-circuitbreaker-callee-service
cloud: cloud:
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
stat: stat:

@ -5,7 +5,7 @@ spring:
name: polaris-circuitbreaker-callee-service name: polaris-circuitbreaker-callee-service
cloud: cloud:
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
stat: stat:

@ -5,7 +5,7 @@ spring:
name: polaris-circuitbreaker-feign-example name: polaris-circuitbreaker-feign-example
cloud: cloud:
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
loadbalancer: loadbalancer:

@ -16,7 +16,7 @@ spring:
feature-env: feature-env:
enabled: true enabled: true
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
gateway: gateway:

@ -5,7 +5,7 @@ spring:
name: polaris-circuitbreaker-resttemplate-example name: polaris-circuitbreaker-resttemplate-example
cloud: cloud:
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
loadbalancer: loadbalancer:

@ -5,7 +5,7 @@ spring:
name: polaris-circuitbreaker-webclient-example name: polaris-circuitbreaker-webclient-example
cloud: cloud:
polaris: polaris:
address: grpc://183.47.111.80:8091 address: grpc://127.0.0.1:8091
namespace: default namespace: default
enabled: true enabled: true
loadbalancer: loadbalancer:

Loading…
Cancel
Save