Beispiel #1
0
 public FireDepartmentMetrics getMetrics(String datasource) {
   List<FireChief> chiefs = this.chiefs.get(datasource);
   if (chiefs == null) {
     return null;
   }
   FireDepartmentMetrics snapshot = null;
   for (FireChief chief : chiefs) {
     if (snapshot == null) {
       snapshot = chief.getMetrics().snapshot();
     } else {
       snapshot.merge(chief.getMetrics());
     }
   }
   return snapshot;
 }
Beispiel #2
0
  @LifecycleStart
  public void start() throws IOException {
    for (final FireDepartment fireDepartment : fireDepartments) {
      DataSchema schema = fireDepartment.getDataSchema();

      final FireChief chief = new FireChief(fireDepartment);
      List<FireChief> chiefs = this.chiefs.get(schema.getDataSource());
      if (chiefs == null) {
        chiefs = new ArrayList<FireChief>();
        this.chiefs.put(schema.getDataSource(), chiefs);
      }
      chiefs.add(chief);

      chief.setName(
          String.format(
              "chief-%s[%s]",
              schema.getDataSource(),
              fireDepartment.getTuningConfig().getShardSpec().getPartitionNum()));
      chief.setDaemon(true);
      chief.start();
    }
  }