private static List<MetricInfo> parseMetrics(String rawMetricStr) { try { return Resources.jsonMapper.readValue(rawMetricStr, new TypeReference<List<MetricInfo>>() {}); } catch (Exception e) { log.error(e, "failed to parse metric infos"); return Collections.emptyList(); } }
void checkAlarm(MetricInfo info, Map<String, String> tags) { boolean shouldWarn = false; if (watcher == Watcher.ShouldBigger) { shouldWarn = info.value < threshold; } else if (watcher == Watcher.ShouldSmaller) { shouldWarn = info.value > threshold; } if (shouldWarn && Config.config.druidInfos.shouldWarn(info.metric)) { String warnMsg = getWarning(info, tags); Utils.sendNotify("druid", warnMsg); log.warn("druid - " + warnMsg); } }