src/main/java/cc/mrbird/febs/monitor/helper/FebsActuatorHelper.java
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package cc.mrbird.febs.monitor.helper;
import cc.mrbird.febs.common.annotation.Helper;
import cc.mrbird.febs.common.entity.Strings;
import cc.mrbird.febs.common.utils.DateUtil;
import cc.mrbird.febs.monitor.endpoint.FebsMetricsEndpoint;
import cc.mrbird.febs.monitor.entity.JvmInfo;
import cc.mrbird.febs.monitor.entity.ServerInfo;
import cc.mrbird.febs.monitor.entity.TomcatInfo;
import com.google.common.base.Predicates;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static cc.mrbird.febs.monitor.endpoint.FebsMetricsEndpoint.FebsMetricResponse;
import static cc.mrbird.febs.monitor.endpoint.FebsMetricsEndpoint.Sample;
/**
* @author MrBird
*/
@Helper
@RequiredArgsConstructor
public class FebsActuatorHelper {
private static final BigDecimal DECIMAL = new BigDecimal("1048576");
private final FebsMetricsEndpoint metricsEndpoint;
private static Double convertToMb(Object value) {
return new BigDecimal(String.valueOf(value))
.divide(DECIMAL, 3, RoundingMode.HALF_UP).doubleValue();
}
public List<FebsMetricResponse> getMetricResponseByType(String type) {
FebsMetricsEndpoint.ListNamesResponse listNames = metricsEndpoint.listNames();
Set<String> names = listNames.getNames();
Iterable<String> jvm = names.stream()
.filter(Predicates.containsPattern(type)::apply)
.collect(Collectors.toList());
List<FebsMetricResponse> metricResponseList = new ArrayList<>();
jvm.forEach(s -> {
FebsMetricResponse metric = metricsEndpoint.metric(s, null);
metricResponseList.add(metric);
});
return metricResponseList;
}
public JvmInfo getJvmInfoFromMetricData(List<FebsMetricResponse> metrics) {
JvmInfo jvmInfo = new JvmInfo();
metrics.forEach(d -> {
String name = d.getName();
Sample sample = d.getMeasurements().get(0);
后面还有 155 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读 AI
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
