static String getValueType(String cqId, SimpleConfiguration appConfig) { return appConfig.getString(PREFIX + cqId + ".val"); }
static String getKeyType(String cqId, SimpleConfiguration appConfig) { return appConfig.getString(PREFIX + cqId + ".key"); }
public static AeFluentConfigurator load(String id, SimpleConfiguration config) { AeFluentConfigurator aefc = new AeFluentConfigurator(id); aefc.instance = config.getString(PREFIX + id + ".instance"); aefc.zookeepers = config.getString(PREFIX + id + ".zookeepers"); aefc.user = config.getString(PREFIX + id + ".user"); aefc.password = config.getString(PREFIX + id + ".password"); aefc.table = config.getString(PREFIX + id + ".table"); return aefc; } }
@Override public void init(SimpleConfiguration appConfig) { Preconditions.checkArgument(factory == null && factoryType == null, "Already initialized"); factoryType = appConfig.getString(KRYO_FACTORY_PROP, DefaultFactory.class.getName()); }
Options(String mapId, SimpleConfiguration appConfig) { this.mapId = mapId; this.numBuckets = appConfig.getInt(PREFIX + mapId + ".buckets"); this.combinerType = appConfig.getString(PREFIX + mapId + ".combiner"); this.keyType = appConfig.getString(PREFIX + mapId + ".key"); this.valueType = appConfig.getString(PREFIX + mapId + ".val"); this.updateObserverType = appConfig.getString(PREFIX + mapId + ".updateObserver", null); this.bufferSize = appConfig.getLong(PREFIX + mapId + ".bufferSize", DEFAULT_BUFFER_SIZE); this.bucketsPerTablet = appConfig.getInt(PREFIX + mapId + ".bucketsPerTablet", DEFAULT_BUCKETS_PER_TABLET); }
static SimpleSerializer getInstance(SimpleConfiguration appConfig) { String serType = appConfig.getString("recipes.serializer", "org.apache.fluo.recipes.kryo.KryoSimplerSerializer"); try { SimpleSerializer simplerSer = SimpleSerializer.class.getClassLoader().loadClass(serType) .asSubclass(SimpleSerializer.class).newInstance(); simplerSer.init(appConfig); return simplerSer; } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { throw new RuntimeException(e); } } }
static FluentConfigurator load(String queueId, SimpleConfiguration appConfig) { FluentConfigurator fc = new FluentConfigurator(queueId); fc.buckets = appConfig.getInt(PREFIX + queueId + ".buckets"); fc.keyType = appConfig.getString(PREFIX + queueId + ".key"); fc.valueType = appConfig.getString(PREFIX + queueId + ".val"); fc.bufferSize = appConfig.getLong(PREFIX + queueId + ".bufferSize", DEFAULT_BUFFER_SIZE); fc.bucketsPerTablet = appConfig.getInt(PREFIX + queueId + ".bucketsPerTablet", DEFAULT_BUCKETS_PER_TABLET); fc.exporterType = appConfig.getString(PREFIX + queueId + ".exporter", null); return fc; }
@Override public void init(org.apache.fluo.recipes.core.export.Exporter.Context context) throws Exception { SimpleConfiguration sc = context.getExporterConfiguration(); String instanceName = sc.getString("instanceName"); String zookeepers = sc.getString("zookeepers"); String user = sc.getString("user"); String password = sc.getString("password"); String table = sc.getString("table"); FluoConfiguration tmpFc = new FluoConfiguration(); org.apache.fluo.recipes.accumulo.export.function.AccumuloExporter.configure("aecfgid") .instance(instanceName, zookeepers).credentials(user, password).table(table).save(tmpFc); accumuloWriter = new org.apache.fluo.recipes.accumulo.export.function.AccumuloExporter<K, V>( "aecfgid", tmpFc.getAppConfiguration(), this::translate); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("slf4j"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); Logger logger = LoggerFactory.getLogger(config.getString("logger", "metrics")); Slf4jReporter reporter = Slf4jReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).outputTo(logger).build(); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics using slf4j"); return Collections.singletonList((AutoCloseable) reporter); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("csv"); String dir = config.getString("dir", ""); if (!config.getBoolean("enable", false) || dir.isEmpty()) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); CsvReporter reporter = CsvReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).build(new File(dir)); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics as csv to directory {}", dir); return Collections.singletonList((AutoCloseable) reporter); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("csv"); String dir = config.getString("dir", ""); if (!config.getBoolean("enable", false) || dir.isEmpty()) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); CsvReporter reporter = CsvReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).build(new File(dir)); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics as csv to directory {}", dir); return Collections.singletonList((AutoCloseable) reporter); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("slf4j"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); Logger logger = LoggerFactory.getLogger(config.getString("logger", "metrics")); Slf4jReporter reporter = Slf4jReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).outputTo(logger).build(); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics using slf4j"); return Collections.singletonList((AutoCloseable) reporter); }
/** * This method is expected to be called after Fluo is initialized to get the ranges that were * registered before initialization. */ public List<RowRange> getTransientRanges() { List<RowRange> ranges = new ArrayList<>(); Iterator<String> keys = appConfig.getKeys(PREFIX.substring(0, PREFIX.length() - 1)); while (keys.hasNext()) { String key = keys.next(); String val = appConfig.getString(key); String[] sa = val.split(":"); RowRange rowRange = new RowRange(Bytes.of(DatatypeConverter.parseHexBinary(sa[0])), Bytes.of(DatatypeConverter.parseHexBinary(sa[1]))); ranges.add(rowRange); } return ranges; } }
@Override public void init(Context context) { SimpleConfiguration myConfig = context.getObserverConfiguration(); String[] ocTokens = myConfig.getString("observedCol").split(":"); observedColumn = new ObservedColumn(new Column(ocTokens[0], ocTokens[1]), NotificationType.valueOf(ocTokens[2])); outputCQ = Bytes.of(myConfig.getString("outputCQ")); String swn = myConfig.getString("setWeakNotification", "false"); if (swn.equals("true")) { setWeakNotification = true; } meter = context.getMetricsReporter().meter("test_meter"); counter = context.getMetricsReporter().counter("test_counter"); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("console"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); PrintStream out = System.out; if (config.getString("target", "stdout").equals("stderr")) { out = System.err; } ConsoleReporter reporter = ConsoleReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).outputTo(out).build(); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics to console"); return Collections.singletonList((AutoCloseable) reporter); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("console"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); PrintStream out = System.out; if (config.getString("target", "stdout").equals("stderr")) { out = System.err; } ConsoleReporter reporter = ConsoleReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).outputTo(out).build(); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics to console"); return Collections.singletonList((AutoCloseable) reporter); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("graphite"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } String host = config.getString("host"); String prefix = config.getString("prefix", ""); int port = config.getInt("port", 8080); TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); Graphite graphite = new Graphite(host, port); GraphiteReporter reporter = GraphiteReporter.forRegistry(params.getMetricRegistry()).convertDurationsTo(durationUnit) .convertRatesTo(rateUnit).prefixedWith(prefix).build(graphite); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics to graphite server {}:{}", host, port); return Collections.singletonList((AutoCloseable) reporter); } }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("jmx"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); JmxReporter reporter = JmxReporter.forRegistry(params.getMetricRegistry()).convertDurationsTo(durationUnit) .convertRatesTo(rateUnit).inDomain(params.getDomain()).build(); reporter.start(); log.info("Reporting metrics to JMX"); return Collections.singletonList((AutoCloseable) reporter); } }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("jmx"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); JmxReporter reporter = JmxReporter.forRegistry(params.getMetricRegistry()).convertDurationsTo(durationUnit) .convertRatesTo(rateUnit).inDomain(params.getDomain()).build(); reporter.start(); log.info("Reporting metrics to JMX"); return Collections.singletonList((AutoCloseable) reporter); } }
@Override public void init(Context context) throws Exception { this.mapId = context.getObserverConfiguration().getString("mapId"); cfm = CollisionFreeMap.getInstance(mapId, context.getAppConfiguration()); cfm.updateObserver.init(mapId, context); }