public String generateMetricKey(String user) { Map<String, String> dimensions = new HashMap<>(); dimensions.putAll(baseMetricDimension); dimensions.put("user", user); String metricName = "eagle.kafka.message.count"; String encodedMetricName = MetricKeyCodeDecoder.codeMetricKey(metricName, dimensions); return encodedMetricName; }
public String generateMetricKey(String user) { Map<String, String> dimensions = new HashMap<>(); dimensions.putAll(baseMetricDimension); dimensions.put("user", user); String metricName = "eagle.kafka.message.count"; String encodedMetricName = MetricKeyCodeDecoder.codeMetricKey(metricName, dimensions); return encodedMetricName; }
public static String codeTSMetricKey(long timestamp, String metricName, Map<String, String> tags) { return addTimestampToMetricKey(timestamp, codeMetricKey(metricName, tags)); }
public static String codeTSMetricKey(long timestamp, String metricName, Map<String, String> tags) { return addTimestampToMetricKey(timestamp, codeMetricKey(metricName, tags)); }
@Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { registry = new MetricRegistry(); String host = EagleConfigHelper.getServiceHost(config); int port = EagleConfigHelper.getServicePort(config); String username = EagleConfigHelper.getServiceUser(config); String password = EagleConfigHelper.getServicePassword(config); listener = new EagleServiceReporterMetricListener(host, port, username, password); dimensions = new HashMap<>(); dimensions.put(EagleConfigConstants.SITE, config.getString("siteId")); dimensions.put(EagleConfigConstants.APPLICATION, config.getString("appId")); gcPausedTimeMetricName = MetricKeyCodeDecoder.codeMetricKey(GCConstants.GC_PAUSE_TIME_METRIC_NAME, dimensions); this.collector = collector; }
private void updateCounter(String name, Map<String, String> dimensions, double value) { long current = System.currentTimeMillis(); String metricName = MetricKeyCodeDecoder.codeMetricKey(name, dimensions); if (registry.getMetrics().get(metricName) == null) { EagleCounterMetric metric = new EagleCounterMetric(current, metricName, value, MERITE_GRANULARITY); metric.registerListener(listener); registry.register(metricName, metric); } else { EagleCounterMetric metric = (EagleCounterMetric) registry.getMetrics().get(metricName); metric.update(value, current); // TODO: need remove unused metric from registry } }
@Override public void init() { registry = new MetricRegistry(); String host = EagleConfigHelper.getServiceHost(config); int port = EagleConfigHelper.getServicePort(config); String username = EagleConfigHelper.getServiceUser(config); String password = EagleConfigHelper.getServicePassword(config); listener = new EagleServiceReporterMetricListener(host, port, username, password); dimensions = new HashMap<>(); dimensions.put(EagleConfigConstants.SITE, EagleConfigHelper.getSite(config)); dimensions.put(EagleConfigConstants.APPLICATION, EagleConfigHelper.getApplication(config)); gcPausedTimeMetricName = MetricKeyCodeDecoder.codeMetricKey(GCConstants.GC_PAUSE_TIME_METRIC_NAME, dimensions); }