code: @SuppressWarnings("deprecation")
    private void meterTaskAttemptUnprotected(TaskInProgress tip, TaskStatus status) {
      Counter slotCounter =
        (tip.isMapTask()) ? Counter.SLOTS_MILLIS_MAPS :
                            Counter.SLOTS_MILLIS_REDUCES;
      jobCounters.incrCounter(slotCounter,
                              tip.getNumSlotsRequired() *
                              (status.getFinishTime() - status.getStartTime()));
      if (!tip.isMapTask()) {
        jobCounters.incrCounter(Counter.SLOTS_MILLIS_REDUCES_COPY,
                    tip.getNumSlotsRequired() *
                    (status.getShuffleFinishTime() - status.getStartTime()));
        jobCounters.incrCounter(Counter.SLOTS_MILLIS_REDUCES_SORT,
                    tip.getNumSlotsRequired() *
                    (status.getSortFinishTime() - status.getShuffleFinishTime()));
        jobCounters.incrCounter(Counter.SLOTS_MILLIS_REDUCES_REDUCE,
                    tip.getNumSlotsRequired() *
                    (status.getFinishTime() - status.getSortFinishTime()));
      }
    }
docs: Metering: Occupied Slots * (Finish - Start)
  @param tip {@link TaskInProgress} to be metered which just completed,
  cannot be <code>null</code>
  @param status {@link TaskStatus} of the completed task, cannot be
  <code>null</code>