odps-sdk-impl/odps-mapred-local/src/main/java/com/aliyun/odps/mapred/LocalJobRunner.java [860:921]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    int totalCount = 0;
    int frameWorkCounterCount = 0;
    int jobCounterCount = 0;
    int userCounterCount = 0;
    for (CounterGroup group : counters) {
      for (Counter counter : group) {
        if (counter.getDisplayName().startsWith("__EMPTY_")) {
          continue;
        } else if (group.getDisplayName().equals(JobCounter.class.getName())) {
          ++frameWorkCounterCount;
        } else if (group.getDisplayName()
            .equals("com.aliyun.odps.mapred.local.Counter.JobCounter")) {
          ++jobCounterCount;
        } else {
          ++userCounterCount;
        }

        ++totalCount;

      }
    }

    StringBuilder sb = new StringBuilder("Counters: " + totalCount);
    sb.append("\n\tMap-Reduce Framework: " + frameWorkCounterCount);
    for (CounterGroup group : counters) {
      if (!group.getDisplayName().equals(JobCounter.class.getName())) {
        continue;
      }
      for (Counter counter : group) {
        if (counter.getDisplayName().startsWith("__EMPTY_")) {
          continue;
        }
        sb.append("\n\t\t" + counter.getDisplayName() + "=" + counter.getValue());
      }
    }

    // sb.append("\n\tJob Counters: " + jobCounterCount);
    // for (CounterGroup group : counters) {
    // if
    // (!group.getDisplayName().equals("com.aliyun.odps.mapred.local.Counter.JobCounter"))
    // {
    // continue;
    // }
    // for (Counter counter : group) {
    // if
    // (counter.getDisplayName().equals(JobCounter.__EMPTY_WILL_NOT_SHOW.toString()))
    // continue;
    // sb.append("\n\t\t" + counter.getDisplayName() + "=" +
    // counter.getValue());
    // }
    // }

    sb.append("\n\tUser Defined Counters: " + userCounterCount);
    for (CounterGroup group : counters) {
      if (group.getDisplayName().equals(JobCounter.class.getName())
          || group.getDisplayName().equals("com.aliyun.odps.mapred.local.Counter.JobCounter")) {
        continue;
      }
      sb.append("\n\t\t" + group.getDisplayName());
      for (Counter counter : group) {
        if (counter.getDisplayName().equals(JobCounter.__EMPTY_WILL_NOT_SHOW.toString())) {
          continue;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



odps-sdk-impl/odps-mapred-local/src/main/java/com/aliyun/odps/mapred/unittest/MRUnitTest.java [636:681]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    int totalCount = 0;
    int frameWorkCounterCount = 0;
    int jobCounterCount = 0;
    int userCounterCount = 0;
    for (CounterGroup group : counters) {
      for (Counter counter : group) {
        if (counter.getDisplayName().startsWith("__EMPTY_")) {
          continue;
        } else if (group.getDisplayName().equals(JobCounter.class.getName())) {
          ++frameWorkCounterCount;
        } else if (group.getDisplayName()
            .equals("com.aliyun.odps.mapred.local.Counter.JobCounter")) {
          ++jobCounterCount;
        } else {
          ++userCounterCount;
        }

        ++totalCount;

      }
    }

    StringBuilder sb = new StringBuilder("Counters: " + totalCount);
    sb.append("\n\tMap-Reduce Framework: " + frameWorkCounterCount);
    for (CounterGroup group : counters) {
      if (!group.getDisplayName().equals(JobCounter.class.getName())) {
        continue;
      }
      for (Counter counter : group) {
        if (counter.getDisplayName().startsWith("__EMPTY_")) {
          continue;
        }
        sb.append("\n\t\t" + counter.getDisplayName() + "=" + counter.getValue());
      }
    }

    sb.append("\n\tUser Defined Counters: " + userCounterCount);
    for (CounterGroup group : counters) {
      if (group.getDisplayName().equals(JobCounter.class.getName())
          || group.getDisplayName().equals("com.aliyun.odps.mapred.local.Counter.JobCounter")) {
        continue;
      }
      sb.append("\n\t\t" + group.getDisplayName());
      for (Counter counter : group) {
        if (counter.getDisplayName().equals(JobCounter.__EMPTY_WILL_NOT_SHOW.toString())) {
          continue;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



