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