use of org.openkilda.wfm.topology.opentsdb.bolts.OpenTSDBFilterBolt in project open-kilda by telstra.
the class OpenTSDBTopology method createTopology.
@Override
public StormTopology createTopology() {
LOGGER.info("Creating OpenTSDB topology");
TopologyBuilder tb = new TopologyBuilder();
checkAndCreateTopic(topic);
KafkaSpout kafkaSpout = createKafkaSpout(topic, spoutId);
tb.setSpout(spoutId, kafkaSpout, config.getOpenTsdbNumSpouts());
tb.setBolt(parseBoltId, new DatapointParseBolt(), config.getGetDatapointParseBoltExecutors()).setNumTasks(config.getGetDatapointParseBoltWorkers()).shuffleGrouping(spoutId);
tb.setBolt(boltId, new OpenTSDBFilterBolt(), config.getOpenTsdbFilterBoltExecutors()).fieldsGrouping(parseBoltId, new Fields("hash"));
OpenTsdbClient.Builder tsdbBuilder = OpenTsdbClient.newBuilder(config.getOpenTsDBHosts()).sync(config.getOpenTsdbTimeout()).returnDetails();
OpenTsdbBolt openTsdbBolt = new OpenTsdbBolt(tsdbBuilder, Collections.singletonList(TupleOpenTsdbDatapointMapper.DEFAULT_MAPPER));
openTsdbBolt.withBatchSize(config.getOpenTsdbBatchSize()).withFlushInterval(config.getOpenTsdbFlushInterval());
// .failTupleForFailedMetrics();
tb.setBolt("opentsdb", openTsdbBolt, config.getOpenTsdbBoltExecutors()).setNumTasks(config.getOpenTsdbBoltWorkers()).shuffleGrouping(boltId);
return tb.createTopology();
}
use of org.openkilda.wfm.topology.opentsdb.bolts.OpenTSDBFilterBolt in project open-kilda by telstra.
the class OpenTsdbTopology method createTopology.
@Override
public StormTopology createTopology() {
logger.info("Creating OpenTsdbTopology - {}", topologyName);
TopologyBuilder tb = new TopologyBuilder();
ZooKeeperSpout zooKeeperSpout = new ZooKeeperSpout(getConfig().getBlueGreenMode(), getZkTopoName(), getZookeeperConfig());
declareSpout(tb, zooKeeperSpout, ZooKeeperSpout.SPOUT_ID);
ZooKeeperBolt zooKeeperBolt = new ZooKeeperBolt(getConfig().getBlueGreenMode(), getZkTopoName(), getZookeeperConfig(), getBoltInstancesCount(OTSDB_PARSE_BOLT_ID));
declareBolt(tb, zooKeeperBolt, ZooKeeperBolt.BOLT_ID).allGrouping(OTSDB_PARSE_BOLT_ID, ZkStreams.ZK.toString());
attachInput(tb);
OpenTsdbConfig openTsdbConfig = topologyConfig.getOpenTsdbConfig();
declareBolt(tb, new DatapointParseBolt(), OTSDB_PARSE_BOLT_ID).shuffleGrouping(OTSDB_SPOUT_ID).allGrouping(ZooKeeperSpout.SPOUT_ID);
declareBolt(tb, new OpenTSDBFilterBolt(), OTSDB_FILTER_BOLT_ID).fieldsGrouping(OTSDB_PARSE_BOLT_ID, new Fields("hash"));
OpenTsdbClient.Builder tsdbBuilder = OpenTsdbClient.newBuilder(openTsdbConfig.getHosts()).returnDetails();
if (openTsdbConfig.getClientChunkedRequestsEnabled()) {
tsdbBuilder.enableChunkedEncoding();
}
OpenTsdbBolt openTsdbBolt = new OpenTsdbBolt(tsdbBuilder, Collections.singletonList(TupleOpenTsdbDatapointMapper.DEFAULT_MAPPER));
openTsdbBolt.withBatchSize(openTsdbConfig.getBatchSize()).withFlushInterval(openTsdbConfig.getFlushInterval());
declareBolt(tb, openTsdbBolt, OTSDB_BOLT_ID).shuffleGrouping(OTSDB_FILTER_BOLT_ID);
return tb.createTopology();
}
Aggregations