All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.hudi.org.apache.hadoop.hbase.generated.master.procedures_jsp Maven / Gradle / Ivy

There is a newer version: 1.0.0-beta1
Show newest version
package org.apache.hadoop.hbase.generated.master;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import static org.apache.commons.lang3.StringEscapeUtils.escapeXml;
import java.util.Collections;
import java.util.Comparator;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
import org.apache.hadoop.hbase.procedure2.LockedResource;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
import org.apache.hadoop.hbase.procedure2.util.StringUtils;
import org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
import org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure;
import org.apache.hadoop.hbase.master.assignment.TransitRegionStateProcedure;
import org.apache.hadoop.hbase.master.assignment.OpenRegionProcedure;
import org.apache.hadoop.hbase.master.assignment.CloseRegionProcedure;
import org.apache.hadoop.hbase.metrics.OperationMetrics;
import java.util.Map;
import java.util.HashMap;
import org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource;
import org.apache.hadoop.hbase.master.MetricsAssignmentManager;
import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
import org.apache.hadoop.hbase.metrics.Snapshot;
import org.apache.hadoop.hbase.metrics.Histogram;
import java.util.TreeMap;
import org.apache.hadoop.hbase.metrics.impl.HistogramImpl;

public final class procedures_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();

  private static java.util.List _jspx_dependants;

  private org.glassfish.jsp.api.ResourceInjector _jspx_resourceInjector;

  public java.util.List getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html;charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;
      _jspx_resourceInjector = (org.glassfish.jsp.api.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");

      out.write("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

  HMaster master = (HMaster) getServletContext().getAttribute(HMaster.MASTER);
  ProcedureExecutor procExecutor = master.getMasterProcedureExecutor();
  List> procedures = procExecutor.getProcedures();
  Collections.sort(procedures, new Comparator() {
    @Override
    public int compare(Procedure lhs, Procedure rhs) {
      long cmp = lhs.getParentProcId() - rhs.getParentProcId();
      cmp = cmp != 0 ? cmp : lhs.getProcId() - rhs.getProcId();
      return cmp < 0 ? -1 : cmp > 0 ? 1 : 0;
    }
  });

  List lockedResources = master.getLocks();
  pageContext.setAttribute("pageTitle", "HBase Master Procedures: " + master.getServerName());

      out.write('\n');
      org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "header.jsp" + "?" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("pageTitle", request.getCharacterEncoding())+ "=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode((java.lang.String) org.apache.jasper.runtime.PageContextImpl.evaluateExpression("${pageTitle}", java.lang.String.class, (PageContext)_jspx_page_context, null), request.getCharacterEncoding()), out, false);
      out.write("\n\n
\n
\n
\n

Procedure Time Statistics

\n
\n
\n

We list proceduces completed successfully of the following types only: ServerCrashProcedure, TransitRegionStateProcedure,\n OpenRegionProcedure, CloseRegionProcedure.

\n \n \n \n \n \n \n \n \n "); Map latencyMetrics = new TreeMap<>(); MetricsAssignmentManager metricsAssignmentManagerSource = procExecutor.getEnvironment().getAssignmentManager().getAssignmentManagerMetrics(); latencyMetrics.put("OpenRegionProcedure", metricsAssignmentManagerSource.getOpenProcMetrics()); latencyMetrics.put("CloseRegionProcedure", metricsAssignmentManagerSource.getCloseProcMetrics()); latencyMetrics.put("TransitionRegionProcedure#assignRegion", metricsAssignmentManagerSource.getAssignProcMetrics()); latencyMetrics.put("TransitionRegionProcedure#unassignRegion", metricsAssignmentManagerSource.getUnassignProcMetrics()); latencyMetrics.put("TransitionRegionProcedure#moveRegion", metricsAssignmentManagerSource.getMoveProcMetrics()); latencyMetrics.put("TransitionRegionProcedure#reopenRegion", metricsAssignmentManagerSource.getReopenProcMetrics()); latencyMetrics.put("ServerCrashProcedure", master.getMasterMetrics().getServerCrashProcMetrics()); double[] percentiles = new double[] { 0.5, 0.9}; for (Map.Entry e : latencyMetrics.entrySet()) { Histogram histogram = e.getValue().getTimeHisto(); if (histogram.getCount() == 0 || !(histogram instanceof HistogramImpl)) { continue; } HistogramImpl histogramImpl = (HistogramImpl)histogram; long[] percentileLatencies = histogramImpl.getQuantiles(percentiles); out.write("\n \n \n \n \n \n \n \n "); } out.write("\n
Typemin(ms)50-percentile(ms)90-percentile(ms)max(ms)
"); out.print( e.getKey() ); out.write(""); out.print( histogramImpl.getMin() ); out.write(""); out.print( percentileLatencies[0] ); out.write(""); out.print( percentileLatencies[1] ); out.write(""); out.print( histogramImpl.getMax() ); out.write("
\n
\n
\n
\n
\n
\n

Procedures

\n
\n
\n

We do not list procedures that have completed successfully; their number makes it hard to spot the problematics.

\n \n \n \n \n \n \n \n \n \n \n \n \n "); int displayCount = 0; for (Procedure proc : procedures) { // Don't show SUCCESS procedures. if (proc.isSuccess()) { continue; } displayCount++; out.write("\n \n \n \n \n \n \n \n \n \n \n \n "); } out.write("\n "); if (displayCount > 0) { out.write("\n

"); out.print( displayCount ); out.write(" procedure(s).

\n "); } out.write("\n
IdParentStateOwnerTypeStart TimeLast UpdateErrorsParameters
"); out.print( proc.getProcId() ); out.write(""); out.print( proc.hasParent() ? proc.getParentProcId() : "" ); out.write(""); out.print( escapeXml(proc.getState().toString() + (proc.isBypass() ? "(Bypass)" : "")) ); out.write(""); out.print( proc.hasOwner() ? escapeXml(proc.getOwner()) : "" ); out.write(""); out.print( escapeXml(proc.getProcName()) ); out.write(""); out.print( new Date(proc.getSubmittedTime()) ); out.write(""); out.print( new Date(proc.getLastUpdate()) ); out.write(""); out.print( escapeXml(proc.isFailed() ? proc.getException().unwrapRemoteIOException().getMessage() : "") ); out.write(""); out.print( escapeXml(proc.toString()) ); out.write("
\n
\n
\n\n
\n
\n
\n

Locks

\n
\n
\n "); if (lockedResources.size() > 0) { out.write("\n

"); out.print( lockedResources.size() ); out.write(" lock(s).

\n "); } out.write("\n "); for (LockedResource lockedResource : lockedResources) { out.write("\n

"); out.print( lockedResource.getResourceType() ); out.write(':'); out.write(' '); out.print( lockedResource.getResourceName() ); out.write("

\n "); switch (lockedResource.getLockType()) { case EXCLUSIVE: out.write("\n

Lock type: EXCLUSIVE

\n

Owner procedure: "); out.print( escapeXml(lockedResource.getExclusiveLockOwnerProcedure().toStringDetails()) ); out.write("

\n "); break; case SHARED: out.write("\n

Lock type: SHARED

\n

Number of shared locks: "); out.print( lockedResource.getSharedLockCount() ); out.write("

\n "); break; } List> waitingProcedures = lockedResource.getWaitingProcedures(); if (!waitingProcedures.isEmpty()) { out.write("\n

Waiting procedures

\n \n "); for (Procedure proc : procedures) { out.write("\n \n \n \n "); } out.write("\n
"); out.print( escapeXml(proc.toStringDetails()) ); out.write("
\n "); } out.write("\n "); } out.write("\n
\n
\n"); org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "footer.jsp", out, false); out.write('\n'); } catch (Throwable t) { if (!(t instanceof SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy