private int completed() {
    Set<String> completed = new HashSet<>();
    for (String s : progressCountsMap.keySet()) {
      VertexProgress progress = progressCountsMap.get(s);
      final int complete = progress.succeededTaskCount;
      final int total = progress.totalTaskCount;
      if (total > 0) {
        if (complete == total) {
          completed.add(s);
        }
      }
    }
    return completed.size();
  }
Try to get most the data required from dagClient in the constructor itself so that even after
the tez job has finished this object can be used for later use.s
ql/src/java/org/apache/hadoop/hive/ql/exec/tez/monitoring/TezProgressMonitor.java