public class com.codahale.metrics.servlets.MetricsServlet extends javax.servlet.http.HttpServlet
{
public static final java.lang.String RATE_UNIT;
public static final java.lang.String DURATION_UNIT;
public static final java.lang.String SHOW_SAMPLES;
public static final java.lang.String METRICS_REGISTRY;
public static final java.lang.String ALLOWED_ORIGIN;
public static final java.lang.String METRIC_FILTER;
public static final java.lang.String CALLBACK_PARAM;
private static final long serialVersionUID;
private static final java.lang.String CONTENT_TYPE;
protected java.lang.String allowedOrigin;
protected java.lang.String jsonpParamName;
protected transient com.codahale.metrics.MetricRegistry registry;
protected transient com.fasterxml.jackson.databind.ObjectMapper mapper;
public void <init>()
{
com.codahale.metrics.servlets.MetricsServlet v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
specialinvoke v.<javax.servlet.http.HttpServlet: void <init>()>();
return;
}
public void <init>(com.codahale.metrics.MetricRegistry)
{
com.codahale.metrics.MetricRegistry v;
com.codahale.metrics.servlets.MetricsServlet v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
v := @parameter: com.codahale.metrics.MetricRegistry;
specialinvoke v.<javax.servlet.http.HttpServlet: void <init>()>();
v.<com.codahale.metrics.servlets.MetricsServlet: com.codahale.metrics.MetricRegistry registry> = v;
return;
}
public void init(javax.servlet.ServletConfig) throws javax.servlet.ServletException
{
com.codahale.metrics.MetricRegistry v;
javax.servlet.ServletConfig v;
javax.servlet.ServletException v;
com.codahale.metrics.servlets.MetricsServlet v;
java.lang.Object v;
javax.servlet.ServletContext v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
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 = v.<com.codahale.metrics.servlets.MetricsServlet: com.codahale.metrics.MetricRegistry registry>;
if null != v goto label;
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String METRICS_REGISTRY>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.Object getAttribute(java.lang.String)>(v);
v = v instanceof com.codahale.metrics.MetricRegistry;
if v == 0 goto label;
v.<com.codahale.metrics.servlets.MetricsServlet: com.codahale.metrics.MetricRegistry registry> = v;
goto label;
label:
v = new javax.servlet.ServletException;
specialinvoke v.<javax.servlet.ServletException: void <init>(java.lang.String)>("Couldn\'t find a MetricRegistry instance.");
throw v;
label:
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String ALLOWED_ORIGIN>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String allowedOrigin> = v;
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String CALLBACK_PARAM>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>(v);
v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String jsonpParamName> = v;
virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: void setupMetricsModule(javax.servlet.ServletContext)>(v);
return;
}
protected void setupMetricsModule(javax.servlet.ServletContext)
{
java.lang.String v, v, v, v, v, v, v;
boolean v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
java.util.concurrent.TimeUnit v, v, v, v;
com.codahale.metrics.servlets.MetricsServlet v;
java.lang.Object v;
javax.servlet.ServletContext v;
com.codahale.metrics.json.MetricsModule v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
v := @parameter: javax.servlet.ServletContext;
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String RATE_UNIT>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: java.util.concurrent.TimeUnit parseTimeUnit(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String DURATION_UNIT>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: java.util.concurrent.TimeUnit parseTimeUnit(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String SHOW_SAMPLES>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.String getInitParameter(java.lang.String)>(v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v = <com.codahale.metrics.servlets.MetricsServlet: java.lang.String METRIC_FILTER>;
v = interfaceinvoke v.<javax.servlet.ServletContext: java.lang.Object getAttribute(java.lang.String)>(v);
if v != null goto label;
v = <com.codahale.metrics.MetricFilter: com.codahale.metrics.MetricFilter ALL>;
label:
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = new com.codahale.metrics.json.MetricsModule;
specialinvoke v.<com.codahale.metrics.json.MetricsModule: void <init>(java.util.concurrent.TimeUnit,java.util.concurrent.TimeUnit,boolean,com.codahale.metrics.MetricFilter)>(v, v, v, v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper registerModule(com.fasterxml.jackson.databind.Module)>(v);
v.<com.codahale.metrics.servlets.MetricsServlet: com.fasterxml.jackson.databind.ObjectMapper mapper> = v;
return;
}
protected void doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException, java.io.IOException
{
java.lang.Throwable v;
javax.servlet.http.HttpServletRequest v;
javax.servlet.ServletOutputStream v;
java.lang.String v, v, v, v, v, v, v;
com.codahale.metrics.MetricRegistry v, v;
com.fasterxml.jackson.databind.ObjectWriter v, v;
javax.servlet.http.HttpServletResponse v;
com.codahale.metrics.servlets.MetricsServlet v;
com.fasterxml.jackson.databind.util.JSONPObject v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setContentType(java.lang.String)>("application/json");
v = v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String allowedOrigin>;
if v == null goto label;
v = v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String allowedOrigin>;
interfaceinvoke v.<javax.servlet.http.HttpServletResponse: void setHeader(java.lang.String,java.lang.String)>("Access-Control-Allow-Origin", v);
label:
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 setStatus(int)>(200);
v = interfaceinvoke v.<javax.servlet.http.HttpServletResponse: javax.servlet.ServletOutputStream getOutputStream()>();
label:
v = v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String jsonpParamName>;
if v == null goto label;
v = v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String jsonpParamName>;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: com.fasterxml.jackson.databind.ObjectWriter getWriter(javax.servlet.http.HttpServletRequest)>(v);
v = new com.fasterxml.jackson.databind.util.JSONPObject;
v = v.<com.codahale.metrics.servlets.MetricsServlet: java.lang.String jsonpParamName>;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>(v);
v = v.<com.codahale.metrics.servlets.MetricsServlet: com.codahale.metrics.MetricRegistry registry>;
specialinvoke v.<com.fasterxml.jackson.databind.util.JSONPObject: void <init>(java.lang.String,java.lang.Object)>(v, v);
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: void writeValue(java.io.OutputStream,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<com.codahale.metrics.servlets.MetricsServlet: com.fasterxml.jackson.databind.ObjectWriter getWriter(javax.servlet.http.HttpServletRequest)>(v);
v = v.<com.codahale.metrics.servlets.MetricsServlet: com.codahale.metrics.MetricRegistry registry>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: void writeValue(java.io.OutputStream,java.lang.Object)>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.OutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected com.fasterxml.jackson.databind.ObjectWriter getWriter(javax.servlet.http.HttpServletRequest)
{
com.fasterxml.jackson.databind.ObjectWriter v, v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
javax.servlet.http.HttpServletRequest v;
com.codahale.metrics.servlets.MetricsServlet v;
java.lang.String v;
boolean v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>("pretty");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
v = v.<com.codahale.metrics.servlets.MetricsServlet: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writerWithDefaultPrettyPrinter()>();
return v;
label:
v = v.<com.codahale.metrics.servlets.MetricsServlet: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
return v;
}
protected java.util.concurrent.TimeUnit parseTimeUnit(java.lang.String, java.util.concurrent.TimeUnit)
{
java.lang.IllegalArgumentException v;
java.util.concurrent.TimeUnit v, v;
com.codahale.metrics.servlets.MetricsServlet v;
java.util.Locale v;
java.lang.String v, v, v;
v := @this: com.codahale.metrics.servlets.MetricsServlet;
v := @parameter: java.lang.String;
v := @parameter: java.util.concurrent.TimeUnit;
label:
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = staticinvoke <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit valueOf(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
return v;
catch java.lang.IllegalArgumentException from label to label with label;
}
static void <clinit>()
{
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Class v, v, v, v, v, v, v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.rateUnit");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String RATE_UNIT> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.durationUnit");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String DURATION_UNIT> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.showSamples");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String SHOW_SAMPLES> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.registry");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String METRICS_REGISTRY> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.allowedOrigin");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String ALLOWED_ORIGIN> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.metricFilter");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String METRIC_FILTER> = v;
v = class "Lcom/codahale/metrics/servlets/MetricsServlet;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
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.jsonpCallback");
<com.codahale.metrics.servlets.MetricsServlet: java.lang.String CALLBACK_PARAM> = v;
return;
}
}