@Override public void init(VerifiableProperties props) { if (!initialized) { this.props = new Properties(); if (props.containsKey(CONFIG_POLLING_INTERVAL)) { this.pollingIntervalSeconds = props.getInt(CONFIG_POLLING_INTERVAL); } else { this.pollingIntervalSeconds = 10; } this.brokerId = Integer.parseInt(props.getProperty("broker.id")); log.info("Building ConsumerGroupReporter: polling.interval=" + pollingIntervalSeconds); Enumeration<Object> keys = props.props().keys(); while (keys.hasMoreElements()) { String key = keys.nextElement().toString(); if (key.startsWith("kafka.metrics.")) { String subKey = key.substring(14); this.props.put(subKey, props.props().get(key)); log.info("Building ConsumerGroupReporter: " + subKey + "=" + this.props.get(subKey)); } } initialized = true; this.underlying = new X(Metrics.defaultRegistry()); startReporter(pollingIntervalSeconds); } }
@Override public synchronized void init(VerifiableProperties props) { if (!initialized) { KafkaMetricsConfig metricsConfig = new KafkaMetricsConfig(props); graphiteHost = props.getString("kafka.graphite.metrics.host", GRAPHITE_DEFAULT_HOST); graphitePort = props.getInt("kafka.graphite.metrics.port", GRAPHITE_DEFAULT_PORT); metricPrefix = props.getString("kafka.graphite.metrics.group", GRAPHITE_DEFAULT_PREFIX); String excludeRegex = props.getString("kafka.graphite.metrics.exclude.regex", null); metricDimensions = Dimension.fromProperties(props.props(), "kafka.graphite.dimension.enabled."); LOG.debug("Initialize GraphiteReporter [{},{},{}]", graphiteHost, graphitePort, metricPrefix); if (excludeRegex != null) { LOG.debug("Using regex [{}] for GraphiteReporter", excludeRegex); metricPredicate = new FilterMetricPredicate(excludeRegex); } reporter = buildGraphiteReporter(); if (props.getBoolean("kafka.graphite.metrics.reporter.enabled", false)) { initialized = true; startReporter(metricsConfig.pollingIntervalSecs()); LOG.debug("GraphiteReporter started."); } } }
@Override public synchronized void init(VerifiableProperties props) { if (!initialized) { KafkaMetricsConfig metricsConfig = new KafkaMetricsConfig(props); gangliaHost = props.getString("kafka.ganglia.metrics.host", GANGLIA_DEFAULT_HOST); gangliaPort = props.getInt("kafka.ganglia.metrics.port", GANGLIA_DEFAULT_PORT); gangliaGroupPrefix = props.getString("kafka.ganglia.metrics.group", GANGLIA_DEFAULT_PREFIX); String regex = props.getString("kafka.ganglia.metrics.exclude.regex", null); if (regex != null) { predicate = new RegexMetricPredicate(regex); } try { reporter = new GangliaReporter( Metrics.defaultRegistry(), gangliaHost, gangliaPort, gangliaGroupPrefix, predicate ); } catch (IOException e) { LOG.error("Unable to initialize GangliaReporter", e); } if (props.getBoolean("kafka.ganglia.metrics.reporter.enabled", false)) { initialized = true; startReporter(metricsConfig.pollingIntervalSecs()); } } } }