@Override
  public boolean addAll(Collection<? extends Runnable> elements) {
    int added = 0;
    for (Runnable r : elements) {
      added += underlyingQueue.add(new Call(r)) ? 1 : 0;
    }
    return added != 0;
  }
A BlockingQueue reports waiting time in queue and queue length to ThriftMetrics.
hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/CallQueue.java