public synchronized FragmentRuntimeInfo getFragmentRuntimeInfo(String vertexName, int fragmentNumber,
                                                                 int priority) {
    FragmentRuntimeInfo.Builder builder = FragmentRuntimeInfo.newBuilder();
    maybeRegisterForVertexUpdates(vertexName);

    MutableInt totalTaskCount = new MutableInt(0);
    MutableInt completedTaskCount = new MutableInt(0);
    computeUpstreamTaskCounts(completedTaskCount, totalTaskCount, vertexName);

    builder.setNumSelfAndUpstreamCompletedTasks(completedTaskCount.intValue());
    builder.setNumSelfAndUpstreamTasks(totalTaskCount.intValue());
    builder.setDagStartTime(taskCommunicatorContext.getDagStartTime());
    builder.setWithinDagPriority(priority);
    builder.setFirstAttemptStartTime(taskCommunicatorContext.getFirstAttemptStartTime(vertexName, fragmentNumber));
    builder.setCurrentAttemptStartTime(System.currentTimeMillis());
    return builder.build();
  }
Constructs FragmentRuntimeInfo for scheduling within LLAP daemons.
Also caches state based on state updates.
@param vertexName
@param fragmentNumber
@param priority
@return
llap-tez/src/java/org/apache/hadoop/hive/llap/tezplugins/helpers/SourceStateTracker.java