|
|
@@ -64,15 +64,14 @@ import org.springframework.stereotype.Component; |
|
|
|
@Component |
|
|
|
public class MetricFetcher { |
|
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(MetricFetcher.class); |
|
|
|
private static final int HTTP_OK = 200; |
|
|
|
|
|
|
|
public static final long MAX_CLIENT_LIVE_TIME_MS = 1000 * 60 * 5; |
|
|
|
public static final String NO_METRICS = "No metrics"; |
|
|
|
private static final int HTTP_OK = 200; |
|
|
|
private static final long MAX_LAST_FETCH_INTERVAL_MS = 1000 * 15; |
|
|
|
private static final long FETCH_INTERVAL_SECOND = 6; |
|
|
|
private static final Charset DEFAULT_CHARSET = Charset.forName(SentinelConfig.charset()); |
|
|
|
private final static String METRIC_URL_PATH = "metric"; |
|
|
|
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(MetricFetcher.class); |
|
|
|
private final long intervalSecond = 1; |
|
|
|
|
|
|
|
private Map<String, AtomicLong> appLastFetchTime = new ConcurrentHashMap<>(); |
|
|
@@ -279,7 +278,7 @@ public class MetricFetcher { |
|
|
|
} catch (Exception ignore) { |
|
|
|
} |
|
|
|
String body = EntityUtils.toString(response.getEntity(), charset != null ? charset : DEFAULT_CHARSET); |
|
|
|
if (StringUtil.isEmpty(body)) { |
|
|
|
if (StringUtil.isEmpty(body) || body.startsWith(NO_METRICS)) { |
|
|
|
//logger.info(machine.getApp() + ":" + machine.getIp() + ":" + machine.getPort() + ", bodyStr is empty"); |
|
|
|
return; |
|
|
|
} |
|
|
@@ -322,7 +321,7 @@ public class MetricFetcher { |
|
|
|
map.put(key, entity); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
logger.info("handleBody line error: {}", line); |
|
|
|
logger.warn("handleBody line exception, machine: {}, line: {}", machine.toLogString(), line); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|