Java 类org.apache.hadoop.hdfs.server.namenode.startupprogress.StartupProgressView 实例源码

项目:hadoop    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:aliyun-oss-hadoop-fs    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:big-c    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-2.6.0-cdh5.4.3    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-plus    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hadoop-plus    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-plus    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:FlexMap    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:FlexMap    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:FlexMap    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-TCP    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hadoop-TCP    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-TCP    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hardfs    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hardfs    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hardfs    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-on-lustre2    文件:StartupProgressMetrics.java   
@Override
public void getMetrics(MetricsCollector collector, boolean all) {
  StartupProgressView prog = startupProgress.createView();
  MetricsRecordBuilder builder = collector.addRecord(
    STARTUP_PROGRESS_METRICS_INFO);

  builder.addCounter(info("ElapsedTime", "overall elapsed time"),
    prog.getElapsedTime());
  builder.addGauge(info("PercentComplete", "overall percent complete"),
    prog.getPercentComplete());

  for (Phase phase: prog.getPhases()) {
    addCounter(builder, phase, "Count", " count", prog.getCount(phase));
    addCounter(builder, phase, "ElapsedTime", " elapsed time",
      prog.getElapsedTime(phase));
    addCounter(builder, phase, "Total", " total", prog.getTotal(phase));
    addGauge(builder, phase, "PercentComplete", " percent complete",
      prog.getPercentComplete(phase));
  }
}
项目:hadoop-on-lustre2    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a phase in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @throws IOException thrown if there is an I/O error
 */
private void printPhase(FormattedWriter fout, StartupProgressView view,
    Phase phase) throws IOException {
  StringBuilder phaseLine = new StringBuilder();
  phaseLine.append(phase.getDescription());
  String file = view.getFile(phase);
  if (file != null) {
    phaseLine.append(" ").append(file);
  }
  long size = view.getSize(phase);
  if (size != Long.MIN_VALUE) {
    phaseLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  fout.println("<td class=\"startupdesc\">%s</td>", phaseLine.toString());
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-on-lustre2    文件:NamenodeJspHelper.java   
/**
 * Prints one line of content for a step in the Startup Progress report.
 * 
 * @param fout FormattedWriter to receive output
 * @param view StartupProgressView containing information to print
 * @param phase Phase to print
 * @param step Step to print
 * @throws IOException thrown if there is an I/O error
 */
private void printStep(FormattedWriter fout, StartupProgressView view,
    Phase phase, Step step) throws IOException {
  StringBuilder stepLine = new StringBuilder();
  String file = step.getFile();
  if (file != null) {
    stepLine.append(file);
  }
  long size = step.getSize();
  if (size != Long.MIN_VALUE) {
    stepLine.append(" (").append(StringUtils.byteDesc(size)).append(")");
  }
  StepType type = step.getType();
  if (type != null) {
    stepLine.append(" ").append(type.getDescription());
  }

  fout.println("<td class=\"startupdesc\">%s (%d/%d)</td>",
    stepLine.toString(), view.getCount(phase, step),
    view.getTotal(phase, step));
  fout.println("<td>%s</td>", StringUtils.formatPercent(
    view.getPercentComplete(phase), 2));
  fout.println("<td>%s</td>", view.getStatus(phase) == Status.PENDING ? "" :
    StringUtils.formatTime(view.getElapsedTime(phase)));
}
项目:hadoop-2.6.0-cdh5.4.3    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:hadoop-plus    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:FlexMap    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:hadoop-TCP    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:hardfs    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:hadoop-on-lustre2    文件:NamenodeJspHelper.java   
/**
 * Generates the Startup Progress report.
 * 
 * @param out JspWriter to receive output
 * @param prog StartupProgress tracking NameNode startup progress
 * @throws IOException thrown if there is an I/O error
 */
void generateStartupProgress(JspWriter out, StartupProgress prog)
    throws IOException {
  StartupProgressView view = prog.createView();
  FormattedWriter fout = new FormattedWriter(out);
  fout.println("<div id=\"startupprogress\">");
  fout.println("<div><span>Elapsed Time:</span> %s</div>",
    StringUtils.formatTime(view.getElapsedTime()));
  fout.println("<div><span>Percent Complete:</span> %s</div>",
    StringUtils.formatPercent(view.getPercentComplete(), 2));
  fout.println("<table>");
  fout.println("<tr>");
  fout.println("<th>Phase</th>");
  fout.println("<th>Completion</th>");
  fout.println("<th>Elapsed Time</th>");
  fout.println("</tr>");
  for (Phase phase: view.getPhases()) {
    final String timeClass;
    Status status = view.getStatus(phase);
    if (status == Status.PENDING) {
      timeClass = "later";
    } else if (status == Status.RUNNING) {
      timeClass = "current";
    } else {
      timeClass = "prior";
    }

    fout.println("<tr class=\"phase %s\">", timeClass);
    printPhase(fout, view, phase);
    fout.println("</tr>");

    for (Step step: view.getSteps(phase)) {
      fout.println("<tr class=\"step %s\">", timeClass);
      printStep(fout, view, phase, step);
      fout.println("</tr>");
    }
  }
  fout.println("</table>");
  fout.println("</div>");
}
项目:hadoop    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:aliyun-oss-hadoop-fs    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:big-c    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:hadoop-plus    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        String name = type != null ? type.getName() : null;
        writeStringFieldIfNotNull(json, NAME, name);
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:FlexMap    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:hadoop-TCP    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        String name = type != null ? type.getName() : null;
        writeStringFieldIfNotNull(json, NAME, name);
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:hardfs    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        String name = type != null ? type.getName() : null;
        writeStringFieldIfNotNull(json, NAME, name);
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}
项目:hadoop-on-lustre2    文件:StartupProgressServlet.java   
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws IOException {
  resp.setContentType("application/json; charset=UTF-8");
  StartupProgress prog = NameNodeHttpServer.getStartupProgressFromContext(
    getServletContext());
  StartupProgressView view = prog.createView();
  JsonGenerator json = new JsonFactory().createJsonGenerator(resp.getWriter());
  try {
    json.writeStartObject();
    json.writeNumberField(ELAPSED_TIME, view.getElapsedTime());
    json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete());
    json.writeArrayFieldStart(PHASES);

    for (Phase phase: view.getPhases()) {
      json.writeStartObject();
      json.writeStringField(NAME, phase.getName());
      json.writeStringField(DESC, phase.getDescription());
      json.writeStringField(STATUS, view.getStatus(phase).toString());
      json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase));
      json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase));
      writeStringFieldIfNotNull(json, FILE, view.getFile(phase));
      writeNumberFieldIfDefined(json, SIZE, view.getSize(phase));
      json.writeArrayFieldStart(STEPS);

      for (Step step: view.getSteps(phase)) {
        json.writeStartObject();
        StepType type = step.getType();
        if (type != null) {
          json.writeStringField(NAME, type.getName());
          json.writeStringField(DESC, type.getDescription());
        }
        json.writeNumberField(COUNT, view.getCount(phase, step));
        writeStringFieldIfNotNull(json, FILE, step.getFile());
        writeNumberFieldIfDefined(json, SIZE, step.getSize());
        json.writeNumberField(TOTAL, view.getTotal(phase, step));
        json.writeNumberField(PERCENT_COMPLETE, view.getPercentComplete(phase,
          step));
        json.writeNumberField(ELAPSED_TIME, view.getElapsedTime(phase, step));
        json.writeEndObject();
      }

      json.writeEndArray();
      json.writeEndObject();
    }

    json.writeEndArray();
    json.writeEndObject();
  } finally {
    IOUtils.cleanup(LOG, json);
  }
}