Class AbstractInstrumentedHandler

java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.server.Handler.Abstract
org.eclipse.jetty.server.Handler.AbstractContainer
org.eclipse.jetty.server.Handler.Wrapper
io.dropwizard.metrics.jetty12.AbstractInstrumentedHandler
All Implemented Interfaces:
org.eclipse.jetty.server.Handler, org.eclipse.jetty.server.Handler.Container, org.eclipse.jetty.server.Handler.Singleton, org.eclipse.jetty.server.Request.Handler, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.LifeCycle, org.eclipse.jetty.util.thread.Invocable

public abstract class AbstractInstrumentedHandler extends org.eclipse.jetty.server.Handler.Wrapper
An abstract base class of a Jetty Handler which records various metrics about an underlying Handler instance.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.jetty.server.Handler.Abstract

    org.eclipse.jetty.server.Handler.Abstract.NonBlocking

    Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

    org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

    org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    Nested classes/interfaces inherited from interface org.eclipse.jetty.server.Handler

    org.eclipse.jetty.server.Handler.Abstract, org.eclipse.jetty.server.Handler.AbstractContainer, org.eclipse.jetty.server.Handler.Collection, org.eclipse.jetty.server.Handler.Container, org.eclipse.jetty.server.Handler.Sequence, org.eclipse.jetty.server.Handler.Singleton, org.eclipse.jetty.server.Handler.Wrapper

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable

    org.eclipse.jetty.util.thread.Invocable.Callable, org.eclipse.jetty.util.thread.Invocable.InvocationType, org.eclipse.jetty.util.thread.Invocable.ReadyTask, org.eclipse.jetty.util.thread.Invocable.Task

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

    org.eclipse.jetty.util.component.LifeCycle.Listener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected com.codahale.metrics.Counter
     
    protected com.codahale.metrics.Counter
     
    protected com.codahale.metrics.Counter
     
    protected com.codahale.metrics.Meter
     
    protected com.codahale.metrics.Meter
     
    protected static final Set<com.codahale.metrics.annotation.ResponseMeteredLevel>
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected static final Set<com.codahale.metrics.annotation.ResponseMeteredLevel>
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected final com.codahale.metrics.MetricRegistry
     
    protected com.codahale.metrics.Timer
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected static final String
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected final String
     
    protected com.codahale.metrics.Timer
     
    protected com.codahale.metrics.Timer
     
    protected Map<Integer,com.codahale.metrics.Meter>
     
    protected final com.codahale.metrics.annotation.ResponseMeteredLevel
     
    protected List<com.codahale.metrics.Meter>
     
    protected com.codahale.metrics.Timer
     

    Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    FAILED, STARTED, STARTING, STOPPED, STOPPING

    Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

    KEY

    Fields inherited from interface org.eclipse.jetty.util.thread.Invocable

    __nonBlocking, NOOP
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry)
    Create a new instrumented handler using a given metrics registry.
    protected
    AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry, String prefix)
    Create a new instrumented handler using a given metrics registry.
    protected
    AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry, String prefix, com.codahale.metrics.annotation.ResponseMeteredLevel responseMeteredLevel)
    Create a new instrumented handler using a given metrics registry.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
     
    protected final com.codahale.metrics.Meter
     
    protected final com.codahale.metrics.Meter
     
    protected String
     
     
    protected com.codahale.metrics.Meter
    getResponseCodeMeter(int statusCode)
     
    boolean
    handle(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, org.eclipse.jetty.util.Callback callback)
     
    protected abstract boolean
    isSuspended(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response)
     
    protected void
    mark(int statusCode)
     
    protected com.codahale.metrics.Timer
     
    void
     
    protected abstract void
    setupServletListeners(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response)
     
    protected void
    updateResponses(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, long start, boolean isHandled)
     

    Methods inherited from class org.eclipse.jetty.server.Handler.Wrapper

    getHandler, getInvocationType, setHandler

    Methods inherited from class org.eclipse.jetty.server.Handler.AbstractContainer

    findContainerOf, getDescendant, getDescendants, isDynamic, setDynamic, setServer

    Methods inherited from class org.eclipse.jetty.server.Handler.Abstract

    destroy, getServer

    Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

    addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeans

    Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.jetty.util.component.Container

    getCachedBeans, getEventListeners

    Methods inherited from interface org.eclipse.jetty.util.component.Destroyable

    destroy

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

    dumpSelf

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    isDumpable

    Methods inherited from interface org.eclipse.jetty.server.Handler

    getServer, setServer

    Methods inherited from interface org.eclipse.jetty.server.Handler.Container

    getContainer, getDescendant, getDescendants, getDescendants

    Methods inherited from interface org.eclipse.jetty.server.Handler.Singleton

    getHandlers, getTail, insertHandler, setHandler

    Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

    addEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
  • Field Details

    • NAME_REQUESTS

      protected static final String NAME_REQUESTS
      See Also:
    • NAME_DISPATCHES

      protected static final String NAME_DISPATCHES
      See Also:
    • NAME_ACTIVE_REQUESTS

      protected static final String NAME_ACTIVE_REQUESTS
      See Also:
    • NAME_ACTIVE_DISPATCHES

      protected static final String NAME_ACTIVE_DISPATCHES
      See Also:
    • NAME_ACTIVE_SUSPENDED

      protected static final String NAME_ACTIVE_SUSPENDED
      See Also:
    • NAME_ASYNC_DISPATCHES

      protected static final String NAME_ASYNC_DISPATCHES
      See Also:
    • NAME_ASYNC_TIMEOUTS

      protected static final String NAME_ASYNC_TIMEOUTS
      See Also:
    • NAME_1XX_RESPONSES

      protected static final String NAME_1XX_RESPONSES
      See Also:
    • NAME_2XX_RESPONSES

      protected static final String NAME_2XX_RESPONSES
      See Also:
    • NAME_3XX_RESPONSES

      protected static final String NAME_3XX_RESPONSES
      See Also:
    • NAME_4XX_RESPONSES

      protected static final String NAME_4XX_RESPONSES
      See Also:
    • NAME_5XX_RESPONSES

      protected static final String NAME_5XX_RESPONSES
      See Also:
    • NAME_GET_REQUESTS

      protected static final String NAME_GET_REQUESTS
      See Also:
    • NAME_POST_REQUESTS

      protected static final String NAME_POST_REQUESTS
      See Also:
    • NAME_HEAD_REQUESTS

      protected static final String NAME_HEAD_REQUESTS
      See Also:
    • NAME_PUT_REQUESTS

      protected static final String NAME_PUT_REQUESTS
      See Also:
    • NAME_DELETE_REQUESTS

      protected static final String NAME_DELETE_REQUESTS
      See Also:
    • NAME_OPTIONS_REQUESTS

      protected static final String NAME_OPTIONS_REQUESTS
      See Also:
    • NAME_TRACE_REQUESTS

      protected static final String NAME_TRACE_REQUESTS
      See Also:
    • NAME_CONNECT_REQUESTS

      protected static final String NAME_CONNECT_REQUESTS
      See Also:
    • NAME_MOVE_REQUESTS

      protected static final String NAME_MOVE_REQUESTS
      See Also:
    • NAME_OTHER_REQUESTS

      protected static final String NAME_OTHER_REQUESTS
      See Also:
    • NAME_PERCENT_4XX_1M

      protected static final String NAME_PERCENT_4XX_1M
      See Also:
    • NAME_PERCENT_4XX_5M

      protected static final String NAME_PERCENT_4XX_5M
      See Also:
    • NAME_PERCENT_4XX_15M

      protected static final String NAME_PERCENT_4XX_15M
      See Also:
    • NAME_PERCENT_5XX_1M

      protected static final String NAME_PERCENT_5XX_1M
      See Also:
    • NAME_PERCENT_5XX_5M

      protected static final String NAME_PERCENT_5XX_5M
      See Also:
    • NAME_PERCENT_5XX_15M

      protected static final String NAME_PERCENT_5XX_15M
      See Also:
    • COARSE_METER_LEVELS

      protected static final Set<com.codahale.metrics.annotation.ResponseMeteredLevel> COARSE_METER_LEVELS
    • DETAILED_METER_LEVELS

      protected static final Set<com.codahale.metrics.annotation.ResponseMeteredLevel> DETAILED_METER_LEVELS
    • metricRegistry

      protected final com.codahale.metrics.MetricRegistry metricRegistry
    • prefix

      protected final String prefix
    • requests

      protected com.codahale.metrics.Timer requests
    • dispatches

      protected com.codahale.metrics.Timer dispatches
    • activeRequests

      protected com.codahale.metrics.Counter activeRequests
    • activeDispatches

      protected com.codahale.metrics.Counter activeDispatches
    • activeSuspended

      protected com.codahale.metrics.Counter activeSuspended
    • asyncDispatches

      protected com.codahale.metrics.Meter asyncDispatches
    • asyncTimeouts

      protected com.codahale.metrics.Meter asyncTimeouts
    • responseMeteredLevel

      protected final com.codahale.metrics.annotation.ResponseMeteredLevel responseMeteredLevel
    • responses

      protected List<com.codahale.metrics.Meter> responses
    • responseCodeMeters

      protected Map<Integer,com.codahale.metrics.Meter> responseCodeMeters
    • getRequests

      protected com.codahale.metrics.Timer getRequests
    • postRequests

      protected com.codahale.metrics.Timer postRequests
    • headRequests

      protected com.codahale.metrics.Timer headRequests
    • putRequests

      protected com.codahale.metrics.Timer putRequests
    • deleteRequests

      protected com.codahale.metrics.Timer deleteRequests
    • optionsRequests

      protected com.codahale.metrics.Timer optionsRequests
    • traceRequests

      protected com.codahale.metrics.Timer traceRequests
    • connectRequests

      protected com.codahale.metrics.Timer connectRequests
    • moveRequests

      protected com.codahale.metrics.Timer moveRequests
    • otherRequests

      protected com.codahale.metrics.Timer otherRequests
  • Constructor Details

    • AbstractInstrumentedHandler

      protected AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry)
      Create a new instrumented handler using a given metrics registry.
      Parameters:
      registry - the registry for the metrics
    • AbstractInstrumentedHandler

      protected AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry, String prefix)
      Create a new instrumented handler using a given metrics registry.
      Parameters:
      registry - the registry for the metrics
      prefix - the prefix to use for the metrics names
    • AbstractInstrumentedHandler

      protected AbstractInstrumentedHandler(com.codahale.metrics.MetricRegistry registry, String prefix, com.codahale.metrics.annotation.ResponseMeteredLevel responseMeteredLevel)
      Create a new instrumented handler using a given metrics registry.
      Parameters:
      registry - the registry for the metrics
      prefix - the prefix to use for the metrics names
      responseMeteredLevel - the level to determine individual/aggregate response codes that are instrumented
  • Method Details

    • getName

      public String getName()
    • setName

      public void setName(String name)
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.eclipse.jetty.server.Handler.Abstract
      Throws:
      Exception
    • doStop

      protected void doStop() throws Exception
      Overrides:
      doStop in class org.eclipse.jetty.server.Handler.Abstract
      Throws:
      Exception
    • handle

      public boolean handle(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, org.eclipse.jetty.util.Callback callback) throws Exception
      Specified by:
      handle in interface org.eclipse.jetty.server.Request.Handler
      Overrides:
      handle in class org.eclipse.jetty.server.Handler.Wrapper
      Throws:
      Exception
    • requestTimer

      protected com.codahale.metrics.Timer requestTimer(String method)
    • updateResponses

      protected void updateResponses(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, long start, boolean isHandled)
    • mark

      protected void mark(int statusCode)
    • getResponseCodeMeter

      protected com.codahale.metrics.Meter getResponseCodeMeter(int statusCode)
    • getMetricPrefix

      protected String getMetricPrefix()
    • setupServletListeners

      protected abstract void setupServletListeners(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response)
    • getAsyncDispatches

      protected final com.codahale.metrics.Meter getAsyncDispatches()
    • getAsyncTimeouts

      protected final com.codahale.metrics.Meter getAsyncTimeouts()
    • isSuspended

      protected abstract boolean isSuspended(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response)