public static void printBoltStat(String topologyId) {
    try {
      Client client = ThriftClient.getClient();
      TopologyInfo topologyInfo = client.getTopologyInfo(topologyId);

      Iterator<ExecutorSummary> executorSummaryIterator = topologyInfo.get_executors_iterator();
      while (executorSummaryIterator.hasNext()) {
        ExecutorSummary executorSummary = executorSummaryIterator.next();
        ExecutorStats executorStats = executorSummary.get_stats();

        if (executorStats != null) {
          ExecutorSpecificStats executorSpecificStats = executorStats.get_specific();
          String componentId = executorSummary.get_component_id();

          if (executorSpecificStats.is_set_bolt()) {
            printLine();
            BoltStats boltStats = executorSpecificStats.get_bolt();
            System.out.println("component id of bolt : " + componentId);
            System.out.println(
                "transferred : " + getAllTimeStat(executorStats.get_transferred(), ALL_TIME));
            System.out.println(
                "total tuples emitted : " + getAllTimeStat(executorStats.get_emitted(), ALL_TIME));
            System.out.println("acked : " + getBoltStats(boltStats.get_acked(), ALL_TIME));
            System.out.println("failed : " + getBoltStats(boltStats.get_failed(), ALL_TIME));
            System.out.println("executed : " + getBoltStats(boltStats.get_executed(), ALL_TIME));
            printLine();
          }
        }
      }
    } catch (Exception ex) {
      throw new RuntimeException("Error occurred while fetching the spout information!");
    }
  }
 public static void main(String[] args) throws IOException {
   BoltStat.printBoltStat("storm_topology-1-1436326975");
   ThriftClient.close();
 }