Project

General

Profile

1
package eu.dnetlib.data.search.micrometer;
2

    
3
import org.springframework.stereotype.Component;
4
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
5

    
6
@Component
7
public class PrometheusRequestTimerInterceptor extends HandlerInterceptorAdapter{
8

    
9
    /*private PrometheusMeterRegistry prometheusRegistry;
10
    private DistributionSummary summary;
11

    
12
    PrometheusRequestTimerInterceptor(){}
13

    
14
    PrometheusRequestTimerInterceptor(PrometheusMeterRegistry prometheusMeterRegistry) {
15
        this.prometheusRegistry = prometheusMeterRegistry;
16

    
17
        summary = DistributionSummary.builder("search.server.response.size")
18
                .publishPercentileHistogram()
19
                .sla(1000000, 2500000, 3500000)
20
                .minimumExpectedValue((long) 1000000)
21
                .maximumExpectedValue((long) 3500000)
22
                .scale(500000)
23
                .register(prometheusRegistry);
24
    }
25

    
26
    @Override
27
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
28
            throws Exception {
29
        summary.record((double)response.getBufferSize());
30

    
31
    }
32

    
33
    @Override
34
    public void postHandle(
35
            HttpServletRequest request,
36
            HttpServletResponse response,
37
            Object handler,
38
            ModelAndView modelAndView) throws Exception {
39

    
40
    }*/
41
}
(4-4/4)