|
|
@ -25,6 +25,8 @@ import com.tencent.cloud.polaris.ratelimit.config.PolarisRateLimitProperties;
|
|
|
|
import com.tencent.polaris.client.pb.RateLimitProto;
|
|
|
|
import com.tencent.polaris.client.pb.RateLimitProto;
|
|
|
|
import com.tencent.polaris.client.pb.RoutingProto;
|
|
|
|
import com.tencent.polaris.client.pb.RoutingProto;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.Selector;
|
|
|
|
import org.springframework.boot.actuate.endpoint.annotation.Selector;
|
|
|
@ -44,6 +46,8 @@ import java.util.Map;
|
|
|
|
@Endpoint(id = "polaris-ratelimit")
|
|
|
|
@Endpoint(id = "polaris-ratelimit")
|
|
|
|
public class PolarisRateLimitRuleEndpoint {
|
|
|
|
public class PolarisRateLimitRuleEndpoint {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(PolarisRateLimitRuleEndpoint.class);
|
|
|
|
|
|
|
|
|
|
|
|
private final ServiceRuleManager serviceRuleManager;
|
|
|
|
private final ServiceRuleManager serviceRuleManager;
|
|
|
|
private final PolarisRateLimitProperties polarisRateLimitProperties;
|
|
|
|
private final PolarisRateLimitProperties polarisRateLimitProperties;
|
|
|
|
|
|
|
|
|
|
|
@ -75,12 +79,12 @@ public class PolarisRateLimitRuleEndpoint {
|
|
|
|
return rateLimitRule;
|
|
|
|
return rateLimitRule;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (RateLimitProto.Rule rule : rateLimit.getRulesList()) {
|
|
|
|
for (RateLimitProto.Rule rule : rateLimit.getRulesList()) {
|
|
|
|
String ruleJson = null;
|
|
|
|
String ruleJson = "";
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
ruleJson = JsonFormat.printer().print(rule);
|
|
|
|
ruleJson = JsonFormat.printer().print(rule);
|
|
|
|
} catch (InvalidProtocolBufferException e) {
|
|
|
|
} catch (InvalidProtocolBufferException e) {
|
|
|
|
|
|
|
|
LOG.error("rule to Json failed. check rule {}.", rule, e);
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
rateLimitRule.add(JacksonUtils.json2Map(ruleJson));
|
|
|
|
rateLimitRule.add(JacksonUtils.json2Map(ruleJson));
|
|
|
|