@ReadOperation
	public Map<String, Object> circuitBreaker(@Selector String dstService) {
		List<CircuitBreakerProto.CircuitBreakerRule> rules = serviceRuleManager.getServiceCircuitBreakerRule(
				MetadataContext.LOCAL_NAMESPACE,
				MetadataContext.LOCAL_SERVICE,
				dstService
		);

		Map<String, Object> polarisCircuitBreakerInfo = new HashMap<>();

		polarisCircuitBreakerInfo.put("namespace", MetadataContext.LOCAL_NAMESPACE);
		polarisCircuitBreakerInfo.put("service", MetadataContext.LOCAL_SERVICE);

		List<Object> circuitBreakerRules = new ArrayList<>();
		if (CollectionUtils.isNotEmpty(rules)) {
			for (CircuitBreakerProto.CircuitBreakerRule rule : rules) {
				circuitBreakerRules.add(parseCircuitBreakerRule(rule));

			}
		}
		polarisCircuitBreakerInfo.put("circuitBreakerRules", circuitBreakerRules);
		return polarisCircuitBreakerInfo;
	}
@Test
	public void testPolarisCircuitBreaker() {
		contextRunner.run(context -> {
			PolarisCircuitBreakerEndpoint endpoint = new PolarisCircuitBreakerEndpoint(serviceRuleManager);
			Map<String, Object> circuitBreakerInfo = endpoint.circuitBreaker("test");
			assertThat(circuitBreakerInfo).isNotNull();
			assertThat(circuitBreakerInfo.get("namespace")).isNotNull();
			assertThat(circuitBreakerInfo.get("service")).isNotNull();
			assertThat(circuitBreakerInfo.get("circuitBreakerRules")).asList().isNotEmpty();
		});
	}