parent
153ba1adfa
commit
5cf079e72b
@ -0,0 +1,46 @@ |
|||||||
|
package org.libresonic.player.filter; |
||||||
|
|
||||||
|
import com.codahale.metrics.ConsoleReporter; |
||||||
|
import com.codahale.metrics.JmxReporter; |
||||||
|
import com.codahale.metrics.MetricRegistry; |
||||||
|
import com.codahale.metrics.Timer; |
||||||
|
|
||||||
|
import javax.servlet.*; |
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import java.io.IOException; |
||||||
|
import java.util.concurrent.TimeUnit; |
||||||
|
|
||||||
|
/** |
||||||
|
* Created by remi on 12/01/17. |
||||||
|
*/ |
||||||
|
public class MetricsFilter implements Filter { |
||||||
|
|
||||||
|
private final MetricRegistry metrics = new MetricRegistry(); |
||||||
|
JmxReporter reporter; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void init(FilterConfig filterConfig) throws ServletException { |
||||||
|
reporter = JmxReporter.forRegistry(metrics) |
||||||
|
.convertRatesTo(TimeUnit.SECONDS.SECONDS) |
||||||
|
.convertDurationsTo(TimeUnit.MILLISECONDS) |
||||||
|
.build(); |
||||||
|
reporter.start(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { |
||||||
|
|
||||||
|
HttpServletRequest httpServletRequest = (HttpServletRequest)request; |
||||||
|
Timer requestTimer = metrics.timer(MetricRegistry.name(MetricsFilter.class, httpServletRequest.getRequestURI())); |
||||||
|
|
||||||
|
Timer.Context requestTimerContext = requestTimer.time(); |
||||||
|
|
||||||
|
chain.doFilter(request, response); |
||||||
|
requestTimerContext.stop(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void destroy() { |
||||||
|
reporter.stop(); |
||||||
|
} |
||||||
|
} |
@ -1,3 +1,4 @@ |
|||||||
spring.mvc.view.prefix: /WEB-INF/jsp/ |
spring.mvc.view.prefix: /WEB-INF/jsp/ |
||||||
spring.mvc.view.suffix: .jsp |
spring.mvc.view.suffix: .jsp |
||||||
server.error.includeStacktrace: ALWAYS |
server.error.includeStacktrace: ALWAYS |
||||||
|
logging.level.org.springframework.web=DEBUG |
Loading…
Reference in new issue