private Severity getShuffleSortSeverity(long runtimeMs, long codetimeMs) {
    Severity runtimeSeverity = Severity.getSeverityAscending(
        runtimeMs, runtimeLimits[0], runtimeLimits[1], runtimeLimits[2], runtimeLimits[3]);

    if (codetimeMs <= 0) {
      return runtimeSeverity;
    }
    long value = runtimeMs * 2 / codetimeMs;

    Severity runtimeRatioSeverity = Severity.getSeverityAscending(
        value, runtimeRatioLimits[0], runtimeRatioLimits[1], runtimeRatioLimits[2], runtimeRatioLimits[3]);

    return Severity.min(runtimeSeverity, runtimeRatioSeverity);
  }
Analyses the efficiency of Shuffle and Sort
app/com/linkedin/drelephant/mapreduce/heuristics/ShuffleSortHeuristic.java