diff --git a/CHANGELOG.md b/CHANGELOG.md index 05245219a..34883c67e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,3 +47,4 @@ - [feat:support polaris route for gateway mvc.](https://github.com/Tencent/spring-cloud-tencent/pull/1493) - [feat: implement circuit breaker in enhance plugin, support listen config group, support refresh single config in refresh_context mode.](https://github.com/Tencent/spring-cloud-tencent/pull/1501) - [feat:support polaris event.](https://github.com/Tencent/spring-cloud-tencent/pull/1502) +- [feat:support circuit breaker metrics reporting.](https://github.com/Tencent/spring-cloud-tencent/pull/1503) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreaker.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreaker.java index 1f562f42a..8830dcc7e 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreaker.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/PolarisCircuitBreaker.java @@ -75,7 +75,7 @@ public T run(Supplier toRun, Function fallback) { } catch (CallAbortedException e) { LOGGER.debug("PolarisCircuitBreaker CallAbortedException: {}", e.getMessage()); - PolarisCircuitBreakerUtils.reportStatus(consumerAPI, conf, e); + reportStatus(e); return fallback.apply(e); } catch (Exception e) { @@ -97,4 +97,8 @@ public void onSuccess(InvokeContext.ResponseContext responseContext) { public void onError(InvokeContext.ResponseContext responseContext) { invokeHandler.onError(responseContext); } + + public void reportStatus(CallAbortedException e) { + PolarisCircuitBreakerUtils.reportStatus(consumerAPI, conf, e); + } } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPlugin.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPlugin.java index 23588515f..b33295b68 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPlugin.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/reporter/CircuitBreakerPlugin.java @@ -86,6 +86,7 @@ public void run(EnhancedPluginContext context) throws Throwable { } catch (CallAbortedException e) { LOG.debug("[CircuitBreakerPlugin] request is aborted. request service url=[{}]", request.getServiceUrl()); + polarisCircuitBreaker.reportStatus(e); if (e.getFallbackInfo() != null) { Object fallbackResponse = new PolarisCircuitBreakerHttpResponse(e.getFallbackInfo()); putMetadataObjectValue(ContextConstant.CircuitBreaker.CIRCUIT_BREAKER_FALLBACK_HTTP_RESPONSE, fallbackResponse); diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatProperties.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatProperties.java index 0477a259b..d871b0d7f 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatProperties.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/stat/config/PolarisStatProperties.java @@ -52,10 +52,10 @@ public class PolarisStatProperties { /** * Push metrics interval. - * unit: milliseconds default 30s. + * unit: milliseconds default 60s. */ - @Value("${spring.cloud.polaris.stat.pushgateway.push-interval:#{30000}}") - private Long pushGatewayPushInterval = 30 * 1000L; + @Value("${spring.cloud.polaris.stat.pushgateway.push-interval:#{60000}}") + private Long pushGatewayPushInterval = 60 * 1000L; /** * If push gateway gzip open. default false. diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-tencent-rpc-enhancement/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 7c6745ba8..da7f0e8f6 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-tencent-rpc-enhancement/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -69,9 +69,9 @@ { "name": "spring.cloud.polaris.stat.pushgateway.push-interval", "type": "java.lang.Long", - "description": "Push metrics interval. unit: milliseconds default 30s.", + "description": "Push metrics interval. unit: milliseconds default 60000ms.", "sourceType": "com.tencent.cloud.rpc.enhancement.stat.config.PolarisStatProperties", - "defaultValue": 30000 + "defaultValue": 60000 }, { "name": "spring.cloud.polaris.stat.pushgateway.open-gzip",