public class com.codahale.metrics.servlets.AdminServlet extends javax.servlet.http.HttpServlet
{
public static final java.lang.String DEFAULT_HEALTHCHECK_URI;
public static final java.lang.String DEFAULT_METRICS_URI;
public static final java.lang.String DEFAULT_PING_URI;
public static final java.lang.String DEFAULT_THREADS_URI;
public static final java.lang.String DEFAULT_CPU_PROFILE_URI;
public static final java.lang.String METRICS_ENABLED_PARAM_KEY;
public static final java.lang.String METRICS_URI_PARAM_KEY;
public static final java.lang.String PING_ENABLED_PARAM_KEY;
public static final java.lang.String PING_URI_PARAM_KEY;
public static final java.lang.String THREADS_ENABLED_PARAM_KEY;
public static final java.lang.String THREADS_URI_PARAM_KEY;
public static final java.lang.String HEALTHCHECK_ENABLED_PARAM_KEY;
public static final java.lang.String HEALTHCHECK_URI_PARAM_KEY;
public static final java.lang.String SERVICE_NAME_PARAM_KEY;
public static final java.lang.String CPU_PROFILE_ENABLED_PARAM_KEY;
public static final java.lang.String CPU_PROFILE_URI_PARAM_KEY;
private static final java.lang.String BASE_TEMPLATE;
private static final java.lang.String METRICS_LINK;
private static final java.lang.String PING_LINK;
private static final java.lang.String THREADS_LINK;
private static final java.lang.String HEALTHCHECK_LINK;
private static final java.lang.String CPU_PROFILE_LINK;
private static final java.lang.String CONTENT_TYPE;
private static final long serialVersionUID;
private transient com.codahale.metrics.servlets.HealthCheckServlet healthCheckServlet;
private transient com.codahale.metrics.servlets.MetricsServlet metricsServlet;
private transient com.codahale.metrics.servlets.PingServlet pingServlet;
private transient com.codahale.metrics.servlets.ThreadDumpServlet threadDumpServlet;
private transient com.codahale.metrics.servlets.CpuProfileServlet cpuProfileServlet;
private transient boolean metricsEnabled;
private transient java.lang.String metricsUri;
private transient boolean pingEnabled;
private transient java.lang.String pingUri;
private transient boolean threadsEnabled;
private transient java.lang.String threadsUri;
private transient boolean healthcheckEnabled;
private transient java.lang.String healthcheckUri;
private transient boolean cpuProfileEnabled;
private transient java.lang.String cpuProfileUri;
private transient java.lang.String serviceName;
private transient java.lang.String pageContentTemplate;
public void <init>()
{
com.codahale.metrics.servlets.AdminServlet v;
v := @this: com.codahale.metrics.servlets.AdminServlet;
specialinvoke v.<javax.servlet.http.HttpServlet: void <init>()>();
return;
}
public void init(javax.servlet.ServletConfig) throws javax.servlet.ServletException
{
com.codahale.metrics.servlets.PingServlet v, v;
boolean v, v, v, v, v, v, v, v, v, v;
javax.servlet.ServletConfig v;
com.codahale.metrics.servlets.CpuProfileServlet v, v;
com.codahale.metrics.servlets.HealthCheckServlet v, v;
java.lang.StringBuilder v;
java.lang.Object[] v, v;
com.codahale.metrics.servlets.ThreadDumpServlet v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.codahale.metrics.servlets.AdminServlet v;
com.codahale.metrics.servlets.MetricsServlet v, v;
javax.servlet.ServletContext v;
v := @this: com.codahale.metrics.servlets.AdminServlet;
v := @parameter: javax.servlet.ServletConfig;
specialinvoke v.<javax.servlet.http.HttpServlet: void init(javax.servlet.ServletConfig)>(v);
v = interfaceinvoke v.<javax.servlet.ServletConfig: javax.servlet.ServletContext getServletContext()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("metrics-enabled");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.AdminServlet: boolean metricsEnabled> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean metricsEnabled>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    <li><a href=\"{0}{1}?pretty=true\">Metrics</a></li>%n");
label:
v = new com.codahale.metrics.servlets.MetricsServlet;
specialinvoke v.<com.codahale.metrics.servlets.MetricsServlet: void <init>()>();
v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.MetricsServlet metricsServlet> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.MetricsServlet metricsServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: void init(javax.servlet.ServletConfig)>(v);
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("ping-enabled");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.AdminServlet: boolean pingEnabled> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean pingEnabled>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    <li><a href=\"{2}{3}\">Ping</a></li>%n");
label:
v = new com.codahale.metrics.servlets.PingServlet;
specialinvoke v.<com.codahale.metrics.servlets.PingServlet: void <init>()>();
v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.PingServlet pingServlet> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.PingServlet pingServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.PingServlet: void init(javax.servlet.ServletConfig)>(v);
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("threads-enabled");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.AdminServlet: boolean threadsEnabled> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean threadsEnabled>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    <li><a href=\"{4}{5}\">Threads</a></li>%n");
label:
v = new com.codahale.metrics.servlets.ThreadDumpServlet;
specialinvoke v.<com.codahale.metrics.servlets.ThreadDumpServlet: void <init>()>();
v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.ThreadDumpServlet threadDumpServlet> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.ThreadDumpServlet threadDumpServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.ThreadDumpServlet: void init(javax.servlet.ServletConfig)>(v);
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("healthcheck-enabled");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.AdminServlet: boolean healthcheckEnabled> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean healthcheckEnabled>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    <li><a href=\"{6}{7}?pretty=true\">Healthcheck</a></li>%n");
label:
v = new com.codahale.metrics.servlets.HealthCheckServlet;
specialinvoke v.<com.codahale.metrics.servlets.HealthCheckServlet: void <init>()>();
v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.HealthCheckServlet healthCheckServlet> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.HealthCheckServlet healthCheckServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.HealthCheckServlet: void init(javax.servlet.ServletConfig)>(v);
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("cpu-profile-enabled");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "true");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.AdminServlet: boolean cpuProfileEnabled> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean cpuProfileEnabled>;
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("    <li><a href=\"{8}{9}\">CPU Profile</a></li>%n    <li><a href=\"{8}{9}?state=blocked\">CPU Contention</a></li>%n");
label:
v = new com.codahale.metrics.servlets.CpuProfileServlet;
specialinvoke v.<com.codahale.metrics.servlets.CpuProfileServlet: void <init>()>();
v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.CpuProfileServlet cpuProfileServlet> = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.CpuProfileServlet cpuProfileServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.CpuProfileServlet: void init(javax.servlet.ServletConfig)>(v);
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = newarray (java.lang.Object)[0];
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>(v, v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"%n        \"http://www.w.org/TR/html4/loose.dtd\">%n<html>%n<head>%n  <title>Metrics{10}</title>%n</head>%n<body>%n  <h1>Operational Menu{10}</h1>%n  <ul>%n%s  </ul>%n</body>%n</html>", v);
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String pageContentTemplate> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("metrics-uri");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "/metrics");
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String metricsUri> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("ping-uri");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "/ping");
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String pingUri> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("threads-uri");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "/threads");
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String threadsUri> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("healthcheck-uri");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "/healthcheck");
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String healthcheckUri> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("cpu-profile-uri");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, "/pprof");
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String cpuProfileUri> = v;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>("service-name");
v = staticinvoke <com.codahale.metrics.servlets.AdminServlet: java.lang.String getParam(java.lang.String,java.lang.String)>(v, null);
v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String serviceName> = v;
return;
}
protected void doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException, java.io.IOException
{
java.lang.Throwable v;
java.lang.Object[] v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.PrintWriter v;
com.codahale.metrics.servlets.AdminServlet v;
javax.servlet.http.HttpServletResponse v;
v := @this: com.codahale.metrics.servlets.AdminServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getContextPath()>();
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getServletPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setStatus(int)>(200);
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setHeader(java.lang.String,java.lang.String)>("Cache-Control", "must-revalidate,no-cache,no-store");
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setContentType(java.lang.String)>("text/html");
v = interfaceinvoke v.<javax.servlet.http.HttpServletResponse: java.io.PrintWriter getWriter()>();
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String pageContentTemplate>;
v = newarray (java.lang.Object)[11];
v[0] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String metricsUri>;
v[1] = v;
v[2] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String pingUri>;
v[3] = v;
v[4] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String threadsUri>;
v[5] = v;
v[6] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String healthcheckUri>;
v[7] = v;
v[8] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String cpuProfileUri>;
v[9] = v;
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String serviceName>;
if v != null goto label;
v = "";
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String serviceName>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>(" (\u)");
label:
v[10] = v;
v = staticinvoke <java.text.MessageFormat: java.lang.String format(java.lang.String,java.lang.Object[])>(v, v);
virtualinvoke v.<java.io.PrintWriter: void println(java.lang.String)>(v);
label:
virtualinvoke v.<java.io.PrintWriter: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException, java.io.IOException
{
com.codahale.metrics.servlets.ThreadDumpServlet v;
com.codahale.metrics.servlets.PingServlet v;
javax.servlet.http.HttpServletRequest v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v;
com.codahale.metrics.servlets.AdminServlet v;
javax.servlet.http.HttpServletResponse v;
com.codahale.metrics.servlets.CpuProfileServlet v;
com.codahale.metrics.servlets.HealthCheckServlet v;
com.codahale.metrics.servlets.MetricsServlet v;
v := @this: com.codahale.metrics.servlets.AdminServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/");
if v == 0 goto label;
label:
specialinvoke v.<javax.servlet.http.HttpServlet: void service(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String healthcheckUri>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean healthcheckEnabled>;
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.HealthCheckServlet healthCheckServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.HealthCheckServlet: void service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String metricsUri>;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean metricsEnabled>;
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.MetricsServlet metricsServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: void service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String pingUri>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean pingEnabled>;
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.PingServlet pingServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.PingServlet: void service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String threadsUri>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean threadsEnabled>;
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.ThreadDumpServlet threadDumpServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.ThreadDumpServlet: void service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
goto label;
label:
v = v.<com.codahale.metrics.servlets.AdminServlet: java.lang.String cpuProfileUri>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: boolean cpuProfileEnabled>;
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.AdminServlet: com.codahale.metrics.servlets.CpuProfileServlet cpuProfileServlet>;
virtualinvoke v.<com.codahale.metrics.servlets.CpuProfileServlet: void service(javax.servlet.ServletRequest,javax.servlet.ServletResponse)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
goto label;
label:
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void sendError(int)>(404);
label:
return;
}
private static java.lang.String getParam(java.lang.String, java.lang.String)
{
java.lang.String v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
}