Class MetricsInterceptor
- java.lang.Object
-
- org.springframework.web.servlet.handler.HandlerInterceptorAdapter
-
- com.netflix.spinnaker.kork.web.interceptors.MetricsInterceptor
-
- All Implemented Interfaces:
org.springframework.web.servlet.AsyncHandlerInterceptor,org.springframework.web.servlet.HandlerInterceptor
public class MetricsInterceptor extends org.springframework.web.servlet.handler.HandlerInterceptorAdapterAn interceptor that logs Controller metrics to an underlyingRegistry.A `timer` will be created for each request with the following tags:
- controller name - controller method - status (2xx, 4xx, 5xx, etc.) - statusCode (200, 404, 500, etc.) - success (true/false depending on whether the request resulted in an exception) - cause (if success == false, the name of the raised exception)
-
-
Constructor Summary
Constructors Constructor Description MetricsInterceptor(com.netflix.spectator.api.Registry registry, java.lang.String metricName, java.util.Collection<java.lang.String> pathVariablesToTag, java.util.Collection<java.lang.String> controllersToExclude)Deprecated.Instead use the other constructor.MetricsInterceptor(com.netflix.spectator.api.Registry registry, java.lang.String metricName, java.util.Collection<java.lang.String> pathVariablesToTag, java.util.Collection<java.lang.String> queryParamsToTag, java.util.Collection<java.lang.String> controllersToExclude)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler, java.lang.Exception ex)protected java.lang.LonggetNanoTime()booleanpreHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler)
-
-
-
Constructor Detail
-
MetricsInterceptor
@Deprecated public MetricsInterceptor(com.netflix.spectator.api.Registry registry, java.lang.String metricName, java.util.Collection<java.lang.String> pathVariablesToTag, java.util.Collection<java.lang.String> controllersToExclude)Deprecated.Instead use the other constructor.
-
MetricsInterceptor
public MetricsInterceptor(com.netflix.spectator.api.Registry registry, java.lang.String metricName, java.util.Collection<java.lang.String> pathVariablesToTag, java.util.Collection<java.lang.String> queryParamsToTag, java.util.Collection<java.lang.String> controllersToExclude)- Parameters:
registry- Underlying metrics registrymetricName- Metric namepathVariablesToTag- Variables from the request uri that should be added as metric tagsqueryParamsToTag- Request parameters that should be added as metric tagscontrollersToExclude- Controller names that should be excluded from metrics
-
-
Method Detail
-
preHandle
public boolean preHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler) throws java.lang.Exception- Specified by:
preHandlein interfaceorg.springframework.web.servlet.HandlerInterceptor- Overrides:
preHandlein classorg.springframework.web.servlet.handler.HandlerInterceptorAdapter- Throws:
java.lang.Exception
-
afterCompletion
public void afterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler, java.lang.Exception ex) throws java.lang.Exception- Specified by:
afterCompletionin interfaceorg.springframework.web.servlet.HandlerInterceptor- Overrides:
afterCompletionin classorg.springframework.web.servlet.handler.HandlerInterceptorAdapter- Throws:
java.lang.Exception
-
getNanoTime
protected java.lang.Long getNanoTime()
-
-